Sha*_*ala 3 java logging interface apache-commons apache-commons-logging
Web应用程序服务器希望记录哪些信息,以及为什么?
据我所知
org.apache.commons.logging.Log
Run Code Online (Sandbox Code Playgroud)
是一个抽象其他Logging类提供的功能的接口,同样适用于接口LogFactory.
我想了解的代码有 -
Log auditLogger = LogFactory.getLog(someString);
Run Code Online (Sandbox Code Playgroud)
String someString如何用于标识要生成的LogFactory?如何查看正在使用的Log和LogFactory类的实现?
字符串是任意的identifier,我们可以使用它来重定向或过滤日志输出.一种常见的方法是使用className,例如,
Log auditLogger = LogFactory.getLog(MyCurrentClass.class);
Run Code Online (Sandbox Code Playgroud)
如您所说,如果没有提供其他日志库,则commons-logging默认为Facade java.util.logging.我建议在类路径中放置一个日志实现,如log4j,logback或slf4j.
假设你把eg放在log4j那里,你可以使用配置文件控制日志输出log4j.xml,例如:
<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
.....
</appender>
<!-- Send debug information from "com.company.MyCurrentClass" to CONSOLE -->
<logger name="com.company.MyCurrentClass">
<level value="DEBUG"/>
<appender-ref ref="CONSOLE"/>
</logger>
</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2865 次 |
| 最近记录: |