Log4j介绍:
- 通过使用Log4j,控制日志信息输送的目的地可以为控制台、文件、数据库、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;
- 可以控制每一条日志的信息内容和信息输出格式;
- 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程;
日志级别:
- OFF:关闭了日志信息
- FATAL:可能导致应用中止的严重事件错误
- ERROR:严重错误,主要是程序的错误
- WARN:一般警告,比如session丢失
- INFO:一般要显示的信息,比如登录登出
- DEBUG:程序的调试信息
- TRACE:比DEBUG更细粒度的事件信息
- ALL:打开所有级别的日志
log4j提供了一系列的Appender,允许将日志输出到不同的地方,如控制台、文件、数据库等。
项目中的应用:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> <scope>runtime</scope> </dependency>
import org.slf4j.LoggerFactory;
private static Logger logger = LoggerFactory.getLogger(DeviceLoadConfigServiceImpl.class);
logger.warn(LOGGERINFO+"getDevConnectConfigByDeviceUid参数缺失marketId:"+deviceUid);
#Console Log #log4j根配置语法: #作用:把指定级别的日志信息 输出到指定的一个或多个位置 log4j.rootLogger=DEBUG,INFO,WARN,ERROR , console, file,logDB # Write to Console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.Threshold=DEBUG log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%5p %d{MM-dd HH:mm:ss}(%F:%L): %m%n #Write to File log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.Threshold = INFO log4j.appender.file.File=${catalina.home}log/provider.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%5p %d{MM-dd HH:mm:ss}(%F:%L): %m%n #将日志登录到MySQL数据库 log4j.appender.logDB = org.apache.log4j.jdbc.JDBCAppender log4j.appender.logDB.layout = org.apache.log4j.PatternLayout log4j.appender.logDB.Threshold = ERROR log4j.appender.logDB.Driver = com.mysql.jdbc.Driver log4j.appender.logDB.URL = jdbc:mysql://127.0.0.1:3306/gaa