Log4j日志文件配置 https://blog.csdn.net/prety_boy/article/details/53306102
Log4j由三个重要的组件构成:
日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。
1.日志信息的优先级从高到低有ERROR、WARN、 INFO、DEBUG,分别用来指定这条日志信息的重要程度;
2.日志信息的输出目的地指定了日志将打印到控制台还是文件中;
3.输出格式则控制了日志信息的显 示内容。
[level] 是日志输出级别,共有5级:
FATAL 0
ERROR 3
WARN 4
INFO 6
DEBUG 7
Appender 为日志输出目的地,Log4j提供的appender有以下几种:





Layout:日志输出格式,Log4j提供的layout有以下几种:




打印参数: Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,如下:









在程序中使用Log4j之前,首先要将commons-logging.jar和logging-log4j-1.2.9.jar导入到classpath中,并将log4j.properties放于src根目录中。
注:
推荐使用commons-logging结合log4j进行日志记录,这样便于以后更换成其他日志工具,降低系统的藕合性,使其可以不依赖于log4j:
private static Log logger = LogFactory.getLog(TestLog.class);
另外,一个类我们只需一个日志记录器,因此我们需把日志记录器定义成该类的一个私有的且为静态的属性,如上面的:private static Log logger = LogFactory.getLog(TestLog.class),其实如果我们不这样定义,即使每次使用时我们就创建一个日志记录器,得到的还是以前使用过的,因为log4j帮我们做了这样的处理:相同名的日志记录器在内存中
private static Log logger = LogFactory.getLog(TestLog.class);
另外,一个类我们只需一个日志记录器,因此我们需把日志记录器定义成该类的一个私有的且为静态的属性,如上面的:private static Log logger = LogFactory.getLog(TestLog.class),其实如果我们不这样定义,即使每次使用时我们就创建一个日志记录器,得到的还是以前使用过的,因为log4j帮我们做了这样的处理:相同名的日志记录器在内存中
【配置文件】
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
[代码中使用]
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |