标签:log4j slf4j datasource file 使用 apache org appender
相关的jar包依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zh</groupId> <artifactId>log4j-test</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.6.RELEASE</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency> </dependencies>
log4j.properties
的配置文件
# 日记级别(单个级别) 文件/控制台 log4j.rootLogger=debug, stdout,file # Redirect log messages to console 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=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n # Rirect log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=test.log log4j.appender.file.MaxFileSize=5MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Log4jTest.java
public class Log4jTest { private static final Logger logger = LoggerFactory.getLogger(Log4jTest.class); public static void main(String[] args) { logger.debug("debug"); logger.warn("warm"); logger.error("error"); } }
控制台打印的信息如下:
将日志文件写入数据库
在上面项目的基础上加上连接数据库的jar包
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.18</version> </dependency>
在log4j.xml
的配置文件中添加将日志文件插入数据库的配置,同时需要将第一行配置文件改为:
# 日记级别(单个级别) 文件/控制台 log4j.rootLogger=debug, stdout,file,datasource
#下面是配置将日志信息插入数据库, #配置输出目标为数据库(假如要将日志在控制台输出,配置为log4j.appender. stdout =org.apache.log4j.ConsoleAppender;将日志写入文件,配置为log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender #这样的配置在许多地方都要有,需要可查有关资料),当然你也可以自己扩展org.apache.log4j.jdbc.JDBCAppender这个类,只需要在这里配置就可以了例如我们配置我自己扩展的MyJDBCAppender,配置为#log4j.appender.db=com.neam.commons.MyJDBCAppender log4j.appender.datasource=org.apache.log4j.jdbc.JDBCAppender log4j.appender.datasource.layout=org.apache.log4j.PatternLayout log4j.appender.datasource.driver=com.mysql.jdbc.Driver #定义什么级别的错误将写入到数据库中 log4j.appender.datasource.BufferSize=1 #设置缓存大小,就是当有1条日志信息是才忘数据库插一次,我设置的数据库名和表名均为user log4j.appender.datasource.URL=jdbc\:mysql\://localhost\:3306/user?characterEncoding\=UTF8&zeroDateTimeBehavior\=convertToNull log4j.appender.datasource.user=root log4j.appender.datasource.password=root log4j.appender.datasource.sql=insert into user (class,method,create_time,log_level,log_line,msg) values ('%C','%M','%d{yyyy-MM-dd HH:mm:ss}','%p','%l','%m')
标签:log4j,slf4j,datasource,file,使用,apache,org,appender 来源: https://www.cnblogs.com/EarlyBridVic/p/12259179.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。