boss7配置日志理论知识介绍

       Jboss 7日志可以在XML配置文件和日志管理属性文件内配置。默认日志配置在configuration目录的logging.properties文件内。

通常情况下,对于大多数安装,logging.properties内的默认值已经足够了。如要自定义日志类型,建议在xml配置文(standalone.xml或domain.xml文件,logging subsystem)内配置,可以定义7个主要类别:

<root-logger />

<logger category=”” />

>console-handler />

<file-handler />

<periodic-rotating-file-handler />

<size-rotating-file-handler />

<async-handler />

主要,应该使用XML配置文件,当logging子系统启动后日志管理属性会被忽略。

参考资料:

http://download.csdn.net/detail/lypf19900912/8844043

https://docs.jboss.org/author/display/AS71/Logging+Configuration


2. 示例

下面结合具体的示例解释XML配置文件和日志管理属性是如果记录Jboss 7的日志

1.      XML配置

此处的xml配置指的是standalone.xml或domain.xml文件,他们分别是standalond和domain模式启动的xml配置文件。以standalone.xml为例

Standalone.xml文件中关于日志的配置信息如下:

[html]  view plain  copy
 print ?
  1. <subsystem xmlns="urn:jboss:domain:logging:1.3">  
  2.       <console-handler name="CONSOLE">  
  3.           <level name="INFO"/>  
  4.           <formatter>  
  5.               <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>  
  6.           </formatter>  
  7.       </console-handler>  
  8.       <periodic-rotating-file-handler name="FILE" autoflush="true">  
  9.           <formatter>  
  10.               <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>  
  11.           </formatter>  
  12.           <file relative-to="jboss.server.log.dir" path="server.log"/>  
  13.           <suffix value=".yyyy-MM-dd"/>  
  14.           <append value="true"/>  
  15.       </periodic-rotating-file-handler>                     
  16.       <logger category="com.arjuna">  
  17.           <level name="WARN"/>  
  18.       </logger>  
  19.       <logger category="org.apache.tomcat.util.modeler">  
  20.           <level name="WARN"/>  
  21.       </logger>  
  22.       <logger category="org.jboss.as.config">  
  23.           <level name="DEBUG"/>  
  24.       </logger>  
  25.       <logger category="sun.rmi">  
  26.           <level name="WARN"/>  
  27.       </logger>  
  28.       <logger category="jacorb">  
  29.           <level name="WARN"/>  
  30.       </logger>  
  31.       <logger category="jacorb.config">  
  32.           <level name="ERROR"/>  
  33.       </logger>  
  34.       <root-logger>  
  35.           <level name="INFO"/>  
  36.           <handlers>  
  37.               <handler name="CONSOLE"/>  
  38.               <handler name="FILE"/>  
  39.           </handlers>  
  40.       </root-logger>  
  41.   </subsystem>  


如下配置做简单的解释:日志输出到console和file。其他file,位于server.log中。日志级别是INFO

我们可以启动一下看看结果

console(控制台)


server.log(日志文件)

 

2.      Logging-properties(日志管理器)

日志管理器与standalone.xml在同一目录下面,想要使用日志管理器,就必须要删除xml文件中日志的相关配置。为了好区分,日志管理器中日志文件名为server_properties.log

logging.properties

[html]  view plain  copy
 print ?
  1. # Note this file has been generated and will be overwritten if a  
  2. # logging subsystem has been defined in the XML configuration.  
  3.   
  4.   
  5. # Additional loggers to configure (the root logger is always configured)  
  6. loggers=jacorb,com.arjuna,org.apache.tomcat.util.modeler,org.jboss.as.config,jacorb.config,sun.rmi  
  7.   
  8. logger.level=INFO  
  9. logger.handlers=CONSOLE,FILE  
  10.   
  11. logger.jacorb.level=WARN  
  12. logger.jacorb.useParentHandlers=true  
  13.   
  14. logger.com.arjuna.level=WARN  
  15. logger.com.arjuna.useParentHandlers=true  
  16.   
  17. logger.org.apache.tomcat.util.modeler.level=WARN  
  18. logger.org.apache.tomcat.util.modeler.useParentHandlers=true  
  19.   
  20. logger.org.jboss.as.config.level=DEBUG  
  21. logger.org.jboss.as.config.useParentHandlers=true  
  22.   
  23. logger.jacorb.config.level=ERROR  
  24. logger.jacorb.config.useParentHandlers=true  
  25.   
  26. logger.sun.rmi.level=WARN  
  27. logger.sun.rmi.useParentHandlers=true  
  28.   
  29. handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler  
  30. handler.CONSOLE.level=INFO  
  31. handler.CONSOLE.formatter=CONSOLE  
  32. handler.CONSOLE.properties=autoFlush,target,enabled  
  33. handler.CONSOLE.autoFlush=true  
  34. handler.CONSOLE.target=SYSTEM_OUT  
  35. handler.CONSOLE.enabled=true  
  36.   
  37. handler.FILE=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler  
  38. handler.FILE.level=ALL  
  39. handler.FILE.formatter=FILE  
  40. handler.FILE.properties=append,autoFlush,enabled,suffix,fileName  
  41. handler.FILE.constructorProperties=fileName,append  
  42. handler.FILE.append=true  
  43. handler.FILE.autoFlush=true  
  44. handler.FILE.enabled=true  
  45. handler.FILE.suffix=.yyyy-MM-dd  
  46. <span style="font-size:14px;"><span style="color:#ff0000;">handler.FILE.fileName=C\:\\jboss-eap-6.2\\standalone\\log\\server_properties.log</span>  
  47. </span>  
  48.   
  49. formatter.CONSOLE=org.jboss.logmanager.formatters.PatternFormatter  
  50. formatter.CONSOLE.properties=pattern  
  51. formatter.CONSOLE.pattern=%K{level}%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%E%n  
  52.   
  53. formatter.FILE=org.jboss.logmanager.formatters.PatternFormatter  
  54. formatter.FILE.properties=pattern  
  55. formatter.FILE.constructorProperties=pattern  
  56. formatter.FILE.pattern=%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%E%n  

结果展示

 

3.      XML配置和日志管理器的关系


1.  优先级:XML配置高于日志管理器,也就是上面说的使用了XML配置文件,日志管理器就被忽略。

2.  配置XML,会同步到日志管理器中---可以生成多个日志文件,分别记录不同的日志

比如我们在xml中再添加一个FILE_TEST,当我们允许jboss之后,会将FILE_TEST的配置同步到日志管理器中。但是这种同步时单方向的,也就是说只有xml配置同步到日志管理器中,日志管理器中的修改不会同步到xml文件中。

standalone.xml文件中添加FILE_TEST,生成server_TEST.log

[html]  view plain  copy
 print ?
  1.  <subsystem xmlns="urn:jboss:domain:logging:1.3">  
  2.        <console-handler name="CONSOLE">  
  3.            <level name="INFO"/>  
  4.            <formatter>  
  5.                <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>  
  6.            </formatter>  
  7.        </console-handler>  
  8.        <periodic-rotating-file-handler name="FILE" autoflush="true">  
  9.            <formatter>  
  10.                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>  
  11.            </formatter>  
  12.            <file relative-to="jboss.server.log.dir" path="server.log"/>  
  13.            <suffix value=".yyyy-MM-dd"/>  
  14.            <append value="true"/>  
  15.  <span style="font-size:14px;color:#ff0000;">      </periodic-rotating-file-handler>      
  16. t;periodic-rotating-file-handler name="FILE_TEST" autoflush="true">  
  17.            <formatter>  
  18.                <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>  
  19.            </formatter>  
  20.            <file relative-to="jboss.server.log.dir" path="server_TEST.log"/>  
  21.            <suffix value=".yyyy-MM-dd"/>  
  22.            <append value="true"/>  
  23.        </periodic-rotating-file-handler>  </span>             
  24.        <logger category="com.arjuna">  
  25.            <level name="WARN"/>  
  26.        </logger>  
  27.        <logger category="org.apache.tomcat.util.modeler">  
  28.            <level name="WARN"/>  
  29.        </logger>  
  30.        <logger category="org.jboss.as.config">  
  31.            <level name="DEBUG"/>  
  32.        </logger>  
  33.        <logger category="sun.rmi">  
  34.            <level name="WARN"/>  
  35.        </logger>  
  36.        <logger category="jacorb">  
  37.            <level name="WARN"/>  
  38.        </logger>  
  39.        <logger category="jacorb.config">  
  40.            <level name="ERROR"/>  
  41.        </logger>  
  42.        <root-logger>  
  43.            <level name="INFO"/>  
  44.            <handlers>  
  45.                <handler name="CONSOLE"/>  
  46.                <handler name="FILE"/>  
  47. <span style="font-size:14px;color:#ff0000;"> <handler name="FILE_TEST"/></span>  
  48.            </handlers>  
  49.        </root-logger>  
  50.    </subsystem>  

启动Jboss成功之后,生成的日志文件


查看logging.properties

[html]  view plain  copy
 print ?
  1. <span style="font-size:14px;"># Note this file has been generated and will be overwritten if a  
  2. # logging subsystem has been defined in the XML configuration.  
  3.   
  4.   
  5. # Additional loggers to configure (the root logger is always configured)  
  6. loggers=jacorb,com.arjuna,org.apache.tomcat.util.modeler,org.jboss.as.config,jacorb.config,sun.rmi  
  7.   
  8. logger.level=INFO  
  9. logger.handlers=CONSOLE,FILE,FILE_TEST  
  10.   
  11. logger.jacorb.level=WARN  
  12. logger.jacorb.useParentHandlers=true  
  13.   
  14. logger.com.arjuna.level=WARN  
  15. logger.com.arjuna.useParentHandlers=true  
  16.   
  17. logger.org.apache.tomcat.util.modeler.level=WARN  
  18. logger.org.apache.tomcat.util.modeler.useParentHandlers=true  
  19.   
  20. logger.org.jboss.as.config.level=DEBUG  
  21. logger.org.jboss.as.config.useParentHandlers=true  
  22.   
  23. logger.jacorb.config.level=ERROR  
  24. logger.jacorb.config.useParentHandlers=true  
  25.   
  26. logger.sun.rmi.level=WARN  
  27. logger.sun.rmi.useParentHandlers=true  
  28.   
  29. handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler  
  30. handler.CONSOLE.level=INFO  
  31. handler.CONSOLE.formatter=CONSOLE  
  32. handler.CONSOLE.properties=autoFlush,target,enabled  
  33. handler.CONSOLE.autoFlush=true  
  34. handler.CONSOLE.target=SYSTEM_OUT  
  35. handler.CONSOLE.enabled=true  
  36.   
  37. </span><span style="font-size:14px;color:#ff0000;">handler.FILE_TEST=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler  
  38. handler.FILE_TEST.level=ALL  
  39. handler.FILE_TEST.formatter=FILE_TEST  
  40. handler.FILE_TEST.properties=append,autoFlush,enabled,suffix,fileName  
  41. handler.FILE_TEST.append=true  
  42. handler.FILE_TEST.autoFlush=true  
  43. handler.FILE_TEST.enabled=true  
  44. handler.FILE_TEST.suffix=.yyyy-MM-dd  
  45. handler.FILE_TEST.fileName=C\:\\jboss-eap-6.2\\standalone\\log\\server_TEST.log</span><span style="font-size:14px;">  
  46.   
  47. handler.FILE=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler  
  48. handler.FILE.level=ALL  
  49. handler.FILE.formatter=FILE  
  50. handler.FILE.properties=append,autoFlush,enabled,suffix,fileName  
  51. handler.FILE.constructorProperties=fileName,append  
  52. handler.FILE.append=true  
  53. handler.FILE.autoFlush=true  
  54. handler.FILE.enabled=true  
  55. handler.FILE.suffix=.yyyy-MM-dd  
  56. handler.FILE.fileName=C\:\\jboss-eap-6.2\\standalone\\log\\server.log  
  57.   
  58. formatter.CONSOLE=org.jboss.logmanager.formatters.PatternFormatter  
  59. formatter.CONSOLE.properties=pattern  
  60. formatter.CONSOLE.pattern=%K{level}%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%E%n  
  61.   
  62. <span style="color:#ff0000;">formatter.FILE_TEST=org.jboss.logmanager.formatters.PatternFormatter  
  63. formatter.FILE_TEST.properties=pattern  
  64. formatter.FILE_TEST.constructorProperties=pattern  
  65. formatter.FILE_TEST.pattern=%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%E%n  
  66. </span>  
  67. formatter.FILE=org.jboss.logmanager.formatters.PatternFormatter  
  68. formatter.FILE.properties=pattern  
  69. formatter.FILE.constructorProperties=pattern  
  70. formatter.FILE.pattern=%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%E%n  
  71. </span>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值