java服务器编程——log4j日志
来源:互联网 发布:上海程序员培训机构 编辑:程序博客网 时间:2024/05/24 15:41
一、引入log4j包
对于mvn构建的java工程,在pom.xml
文件中引入如下配置:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.16</version></dependency>
二、配置log4j.xml文件
log4j.xml文件放在工程的资源目录下,配置如下所示:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><!-- 将log4j.xml放在资源文件夹中(可将其所在文件夹标识为resource文件夹),则Logger会自动去加载它 否则,自己写代码加载。--><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- 输出到控制台--> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <!-- %c 输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName) %d 输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss} %l 输出日志事件发生位置,包括类目名、发生线程,在代码中的行数 %n 换行符 %m 输出代码指定信息,如info(“message”),输出message %p 输出优先级,即 FATAL ,ERROR 等 %r 输出从启动到显示该log信息所耗费的毫秒数 %t 输出产生该日志事件的线程名 --> <param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/> </layout> </appender> <!-- org.apache.log4j.RollingFileAppender(滚动文件,自动记录最新日志) org.apache.log4j.ConsoleAppender (控制台) org.apache.log4j.FileAppender (文件) org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件) org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方) --> <!-- 输出到文件 --> <appender name="TEST_LOG4J_FILE" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="./logs/test_log4j.log"/> <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 --> <param name="Append" value="true"/> <param name="MaxFileSize" value="600MB"/> <!-- 历史日志文件名后面追加的日期格式 --> <param name="DatePattern" value="'.'yyyy-MM-dd"/> <param name="Threshold" value="DRROR"/> <!-- 编码 --> <param name="Encoding" value="GBK"/> <!-- 输出格式 --> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n"/> </layout> </appender> <!-- 日记记录的优先级priority,优先级由高到低分为 OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。 Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。 --> <category name="com.company.TestLog4j"> <priority value ="ERROR" /> <appender-ref ref="TEST_LOG4J_FILE"/> </category> <!-- root 中的级别,受限制于上面category的日志级别 --> <root> <priority value="ALL"/> <appender-ref ref="STDOUT"/> </root> <!-- 有两篇介绍log4j的博客,感觉非常全面:http://blog.chinaunix.net/uid-26284395-id-3046712.html http://my.oschina.net/exit/blog/182445 --></log4j:configuration>
有两篇介绍log4j的博客,感觉非常全面:
地址1:http://blog.chinaunix.net/uid-26284395-id-3046712.html
地址2: http://my.oschina.net/exit/blog/182445
三、输出日志
在需要输出日志的类中,引入log4j库,就可以打印日志了,如下:
package com.company;import org.apache.log4j.Level;import org.apache.log4j.Logger;public class TestLog4j { private static Logger logger = Logger.getLogger(TestLog4j.class); public static void main(String[] args) { if (logger.isInfoEnabled()) { // 如果日志内容比较复杂的话,可以通过这种判断,提升效率 logger.info("this is a info msg"); System.out.print("info..."); } if (logger.isDebugEnabled()) { logger.debug("this is a debug msg"); System.out.print("debug..."); } if (logger.isEnabledFor(Level.ERROR)) { logger.error("this is a error msg"); System.out.print("error..."); } if (logger.isEnabledFor(Level.WARN)) { logger.warn("this is a warn msg"); System.out.print("warn..."); } }}
根据上面log4j.xml中的配置,日志信息将输出到/logs/test_log4j.log
文件中。
0 0
- java服务器编程——log4j日志
- Log4j——JAVA系统日志
- Log4j——JAVA系统日志
- java——log4j生成日志文件
- log4j 日志服务器
- log4j配置日志服务器
- LOG4J日志服务器
- log4j 日志服务器
- 【Java.ThirdParty】日志——commons-logging, slf4j, log4j,
- 日志工具——log4j
- 利用Log4j 创建日志服务器
- 利用Log4j 创建日志服务器
- 利用Log4j创建日志服务器
- log4j学习笔记(一)——slf4j以及log4j引发的关于java日志的思考
- 日志记录—Java中的日志——Java.util.logging、log4j、commons-logging
- JAVA日志记录,LOG4J
- Java Web log4j (日志)
- Java Web log4j (日志)
- SQLite操作——Android
- Java奇淫巧技之Lombok
- poj 2778
- 计算矩阵边缘元素之和
- 时间复杂度和空间复杂度
- java服务器编程——log4j日志
- MySQL(十二)存储过程和函数的操作
- Toolbar自定义布局
- swift函数
- windows下桌面回收站图标的去除方法
- 系统拆分解耦利器之消息队列---RabbitMQ-主题(Topic)
- 图片懒加载解决方案 lazyload.js
- BroadcastReceiver基本用法
- 在本地安装Ik analyzer 兼容lucene 4.X版本