logback基本配置备忘

logback基本配置

如果使用的是springboot,默认是带有logback依赖的,在resource下直接添加配置文件 logback-spring.xml
如果是spring需要自己引入依赖,配置文件为logback.xml:

            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.1.3</version>
            </dependency>
            <dependency>
                <groupId>org.logback-extensions</groupId>
                <artifactId>logback-ext-spring</artifactId>
                <version>0.1.4</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.7</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>1.7.7</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>1.7.12</version>
            </dependency>
            <!--logback-->

我自己常用的配置大概如下,alarmLogAppender为根据业务自定义的appender,

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="LOG_HOME" value="/export/Logs/log-test"/>
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>[%date] [%p] [%logger] [%M] [%t] [%line] [%m]%n</pattern>
        </encoder>
    </appender>
    <appender name="LogFile" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/all.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/all.log.%d{yyyy-MM-dd}</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>[%date] [%p] [%logger] [%M] [%t] [%line] [%m]%n</pattern>
        </encoder>
    </appender>
    <appender name="alarmLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/main/alarm.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/main/alarm.log.%d{yyyy-MM-dd}</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>[%date] [%p] [%logger] [%M] [%t] [%line] [%m]%n</pattern>
        </encoder>
    </appender>
    <logger name="com.hk.goods.alarm" level="INFO" additivity="false">
        <appender-ref ref="alarmLogAppender"/>
    </logger>

    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="LogFile"/>
    </root>

</configuration>

说明:
如下配置为了将所有报警任务的日志输出到一个单独的文件而自定义的appender和logger,additivity="false"说明日志只在这个文件打印,不会再root标签里的所有日志里面打印,即不会向上传递

<appender name="alarmLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/main/alarm.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/main/alarm.log.%d{yyyy-MM-dd}</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>[%date] [%p] [%logger] [%M] [%t] [%line] [%m]%n</pattern>
        </encoder>
    </appender>
<logger name="com.hk.goods.alarm" level="INFO" additivity="false">
        <appender-ref ref="alarmLogAppender"/>
    </logger>

logger的name可以配置为包名或类名,其实这个名字和我们使用的时候传入的类有关
Logger logger = LoggerFactory.getLogger(TestLog.class);
即表示有一个logger输出器,名字为com.hk.goods.alarm.TestLog,使用该logger输出的日志都会打印到alarm.log

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值