辐射4 属性点修改器:log4j logback slf4j项目配置中的简单总结
来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 21:07:42
一. Log4j+commons-logging
? JAR包
commons-logging-1.1.jar
log4j-1.2.15.jar
? 配置文件
commons-logging.properties
log4j.xml
? commons-logging.jar包读取commons-logging.properties中指定的log,自动加载日志配置
在commons-logging+log4j组合中commons-logging.properties指定的日志为:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
? log4j指定具体日志输出配置
? 如果未选用commons-logging,可以在启动项目中,主动加载log4j的配置文件
二. Logback+slf4j
? JAR包
slf4j-api-1.5.2.jar
logback-classic-0.9.9.jar
logback-core-0.9.9.jar
? 配置文件
Logback.xml
? logback的加载采用编码加载
Java代码
1.String logbackCfg = "/config/logback.xml";
2.URL logURL = new ClassPathResource(logbackCfg).getURL();
3.ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory();
4.LoggerContext loggerContext = (LoggerContext) loggerFactory;
5.loggerContext.shutdownAndReset();
6.JoranConfigurator configurator = new JoranConfigurator();
7.configurator.setContext(loggerContext);
8.configurator.doConfigure(logURL);
String logbackCfg = "/config/logback.xml";
URL logURL = new ClassPathResource(logbackCfg).getURL();
ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory();
LoggerContext loggerContext = (LoggerContext) loggerFactory;
loggerContext.shutdownAndReset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(logURL);
三. Slf4j+log4j
? JAR包
slf4j-api-1.5.2.jar
slf4j-log4j12-1.5.2.jar
log4j-1.2.15.jar
? 配置文件
Logback.xml
四. Slf4j+logback+logback
注:这种情况下是项目中有log4j输出的日志以及logback数据的日志.老项目改造,log4j和logback共存的情况下.(当选用spring+slf4j+logback的时候,spring的日志输出是log4j的,这个时候采用这种配置.)
? JARbao
log4j-over-slf4j-1.5.2.jar
logback-classic-0.9.9.jar
logback-core-0.9.9.jar
slf4j-api-1.5.2.jar
? 配置文件
Logback.xml
? 配置加载
Java代码
1.String logbackCfg = "/config/logback.xml";
2.URL logURL = new ClassPathResource(logbackCfg).getURL();
3.ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory();
4.LoggerContext loggerContext = (LoggerContext) loggerFactory;
5.loggerContext.shutdownAndReset();
6.JoranConfigurator configurator = new JoranConfigurator();
7.configurator.setContext(loggerContext);
8.configurator.doConfigure(logURL);
String logbackCfg = "/config/logback.xml";
URL logURL = new ClassPathResource(logbackCfg).getURL();
ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory();
LoggerContext loggerContext = (LoggerContext) loggerFactory;
loggerContext.shutdownAndReset();
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(loggerContext);
configurator.doConfigure(logURL);
五. Log4j配置文件示例
Java代码
1.
2.
3.
4.
5.
6.
7.
8.
9.
10. 11. value="%d{yyyy-MM-dd HH:mm:ss sss}[%-p][%-c][line:%-L] \r\n %m%n" />
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37. 38. value="%d{yyyy-MM-dd HH:mm:ss sss}[%-p][%-c][line:%-L] \r\n %m%n" />
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62. 63. value="%d{yyyy-MM-dd HH:mm:ss sss}[%-p][%-c][line:%-L] \r\n %m%n" />
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
value="%d{yyyy-MM-dd HH:mm:ss sss}[%-p][%-c][line:%-L] \r\n %m%n" />
value="%d{yyyy-MM-dd HH:mm:ss sss}[%-p][%-c][line:%-L] \r\n %m%n" />
value="%d{yyyy-MM-dd HH:mm:ss sss}[%-p][%-c][line:%-L] \r\n %m%n" />
六. Logback配置文件示例
Java代码
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
七. 相关简单说明
? Log4j
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;用户也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,用户能够更加细致地控制日志的生成过程。这些可以通过一个 配置文件来灵活地进行配置,而不需要修改程序代码
? Slf4j
简单日记门面(Facade)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的loging APIs实现。 Logging API实现既可以选择直接实现SLF4J接的loging APIs如: NLOG4J、SimpleLogger。也可以通过SLF4J提供的API实现来开发相应的适配器如Log4jLoggerAdapter、JDK14LoggerAdapter。
? Logback
Logback是由log4j创始人设计的又一个开源日记组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日记系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日记的功能。