java-使用log4j记录日志


java记录日志
使用apache的log4j来记录日志。
在普通的Maven项目中使用
IDE:Eclipse
pom.xml 文件中添加依赖
<dependencies> <!-- http://mvnrepository.com/tags/maven --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies>
在 src/main/resources 中添加配置文件 log4j.properties
### set log levels ### log4j.rootLogger = DEBUG,Console,dailyFile ### 输出到控制台 ### log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern= %d{ABSOLUTE} %5p %c{1}:%L - %m%n ### 输出到日志文件 ### log4j.appender.File=org.apache.log4j.RollingFileAppender log4j.appender.File.File=${project}/app.log log4j.appender.File.DatePattern=_yyyyMMdd'.log' log4j.appender.File.MaxFileSize=10MB log4j.appender.File.Threshold=ALL log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH\:mm\:ss,SSS}][%c]%m%n log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender log4j.appender.dailyFile.Threshold=DEBUG log4j.appender.dailyFile.ImmediateFlush=true log4j.appender.dailyFile.Append=true log4j.appender.dailyFile.File=D:/log/log.log4j log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout log4j.appender.dailyFile.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
使用方法:
Logger logger = Logger.getLogger(Application.class.getClass()); logger.info("info"); logger.debug("debug");
点我看视频
log4j源码下载
http://logging.apache.org/log4j/1.2/source-repository.html
打开网址,我们能够看到源码的获取方法。
由于是通过 SVN 来获取,所以我们还需要首先安装 TortoiseSVN 工具,使用 TortoiseSVN 代码管理工具将代码下载下来。
下载下来之后,我们就可以使用 eclipse 来打开了。
在 tests/src/java 中,我们可以编写一些测试类,来研究一下源码。
比如在 LogLog.java 文件中有下面一个代码片段:
public class LogLog { /** Defining this value makes log4j print log4j-internal debug statements to <code>System.out</code>. <p> The value of this string is <b>log4j.debug</b>. <p>Note that the search for all option names is case sensitive. */ public static final String DEBUG_KEY="log4j.debug";
即通过设置 log4j.debug 可以开启 log4j 的内部debug模型。而 log4j.debug 的取值来自
public static String getSystemProperty(String key, String def) { try { return System.getProperty(key, def); } catch(Throwable e) { // MS-Java throws com.ms.security.SecurityExceptionEx LogLog.debug("Was not allowed to read system property \""+key+"\"."); return def; } }
我们可以看到,取值是通过 System.getProperty(key,def); 来获取的。
因此,我们可以设置 System.setProperty("log4j.debug","true"); 来开启内部日志。
扫码分享
版权说明
作者:SQBER
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
{0}
{5}
{1}
{2}回复
{4}
*昵称:
*邮箱:
个人站点:
*想说的话: