slf4j的使用

作者: onnoA | 来源:发表于2019-01-09 15:56 被阅读0次

slf4j的使用(本项目是用maven进行管理的)

相关的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')

user表的字段如下

相关文章

  • 日志框架slf4j

    一、使用slf4j 使用slf4j时需要写private final Logger logger = Logge...

  • SpringBoot日志

    springboot使用SLF4J+logback的组合 使用SLF4J各种组合需要导入的jar SLF4J是一个...

  • SLF4J: Failed to load class "org

    使用slf4j报错 slf4j即简单日志门面(Simple Logging Facade for Java),不是...

  • Log4j2设置与使用(基于Spring4的Maven项目)

    Maven配置 属性设置: 依赖设置: 如果同时使用了slf4j包(例如使用quartz包就会自带一个slf4j包...

  • 探究SLF4J日志框架的原理和使用

    介绍 最近发现项目中使用log4j和SLF4J,打算研究下SLF4J。SLF4J用作各种日志框架的简单外观或抽象,...

  • slf4j加载过程(基于logback实现)

    主流的Web框架spring boot默认使用slf4j + logback,slf4j 为日志处理提供了统一的接...

  • SLF4J

    为什么要使用SLF4J而不是Log4J SLF4J不同于其他日志类库,与其它有很大的不同。SLF4J(Simple...

  • feign日志处理

    使用了slf4j来输出日志。FeignConfig.java application.properties 使用:...

  • logback配置详解

    基于springboot已经自动加载了slf4j组件,只需要导入lombok依赖,就可以直接使用@Slf4j了。 ...

  • 如何使用SLF4J

    在以后工作中,要尽量多用slf4j而不是log4j。为了方便查询使用方法,特此记录。 如何使用SLF4J和Log4...

网友评论

    本文标题:slf4j的使用

    本文链接:https://www.haomeiwen.com/subject/qabwrqtx.html