Log的相关用法
Posted FanSunny
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Log的相关用法相关的知识,希望对你有一定的参考价值。
1、最好用静态final定义Log变量
private static final Log log = LogFactory.getLog(MyTest.class);
这样做的好处有三:
- 可以保证线程安全
- 静态或非静态代码都可用
- 不会影响对象序列化
2、代码中实现log日志的输出【首先项目工程下,要有相关的jar】
1)log4g.properties配置文件的内容【需要配置些日志输出路径,及规范输出文件名格式】
log4j.rootLogger = debug,stdout,D,E ### 输出信息到控制抬 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n ### 输出DEBUG 级别以上的日志到=E://logs/error.log ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = E://logs/log.log log4j.appender.D.Append = true log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出ERROR 级别以上的日志到=E://logs/error.log ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender log4j.appender.E.File =E://logs/error.log log4j.appender.E.Append = true log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
2)具体的实现类【Log4gTest.java】
package com.log4g; import org.apache.log4j.Logger; public class Log4gTest { private static final Logger logger = Logger.getLogger(Log4gTest.class); public static void main(String[] args) { // 记录debug级别的信息 logger.debug("This is debug message.debug的测试"); // 记录info级别的信息 logger.info("This is info message.info的测试"); // 记录error级别的信息 logger.error("This is error message.error的测试"); } }
运行得到的结果是:
然后再找到相关的e盘下,就会发现有相关日志文件的存在,即为成功!
以上是关于Log的相关用法的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情