zoukankan      html  css  js  c++  java
  • 7月12 导入项目到svn | logback配置日志输出

     一、导入到svn  主要是注意路径

    路径一定要是全路径

    二、logback 日志的配置

    配置文件

        <!-- 定义参数 -->
        <property name="log.lever" value="info" />
        <property name="log.maxHistory" value="365" />
        <property name="log.filePath" value="/logs/webapp"></property>
        <property name="log.pattern" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
     
        <!-- 控制台设置 -->
        <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${log.pattern}</pattern>
            </encoder>
        </appender>
    
    <!-- INFO -->
        <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>${log.filePath}/info.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 文件名称 -->
                <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
                </fileNamePattern>
                <!-- 文件最大保存历史数量 -->
                <MaxHistory>${log.maxHistory}</MaxHistory>
            </rollingPolicy>
    
    <root level="info">
            <appender-ref ref="infoAppender" />
            <appender-ref ref="consoleAppender" />
        </root>
         private static final Logger log = LoggerFactory.getLogger(AppleApplication.class);
        
        public static void main(String[] args) throws Exception {
            SpringApplication.run(AppleApplication.class, args);
            log.info("----info---[ springboot ]----- 启动完成> ");
            log.error("---error-----[ springboot ]----- 启动完成> ");
        }

    测试方法

    分析:

    1、文件输出位置:<property name="log.filePath" value="/logs/webapp"></property>

    <!-- 文件路径 -->
    <file>${log.filePath}/info.log</file>

    最后我们看到的文件就是info.log

    历史日志文件 前面会加上日期。

    2、输出级别

    我们可以配置不同的级别,设置多个文件

    <!-- DEBUG -->
        <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    
    <!-- INFO -->
        <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">

    3、日志怎么写入到文件里

        <root level="info">
            <appender-ref ref="infoAppender" />
            <appender-ref ref="consoleAppender" />
        </root>

    ref 就是对应的具体输出

     infoA 是文件输出

    consolA 控制台输出

    ################# 下面的详细配置

    <?xml version="1.0" encoding="UTF-8"?>  
      
    <!-- 属性描述 scan:性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,
    默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。   
        debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->  
    <configuration scan="true" scanPeriod="60 seconds" debug="false">  
        
     
        <!-- 定义参数 -->
        <property name="log.lever" value="info" />
        <property name="log.maxHistory" value="365" />
        <property name="log.filePath" value="/logs/webapp"></property>
        <property name="log.pattern" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
     
        <!-- 控制台设置 -->
        <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${log.pattern}</pattern>
            </encoder>
        </appender>
     
        <!-- DEBUG -->
        <appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>${log.filePath}/debug.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 文件名称 -->
                <fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
                </fileNamePattern>
                <!-- 文件最大保存历史数量 -->
                <MaxHistory>${log.maxHistory}</MaxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>${log.pattern}</pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>DEBUG</level>
                <onMatch>ACCEPT</onMatch>  
                <onMismatch>DENY</onMismatch>  
            </filter>
        </appender>
        
        <!-- INFO -->
        <appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>${log.filePath}/info.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 文件名称 -->
                <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz
                </fileNamePattern>
                <!-- 文件最大保存历史数量 -->
                <MaxHistory>${log.maxHistory}</MaxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>${log.pattern}</pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>  
                <onMismatch>DENY</onMismatch>  
            </filter>
        </appender>
        
        <!-- ERROR -->
        <appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 文件路径 -->
            <file>${log.filePath}/error.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 文件名称 -->
                <fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz
                </fileNamePattern>
                <!-- 文件最大保存历史数量 -->
                <MaxHistory>${log.maxHistory}</MaxHistory>
            </rollingPolicy>
            <encoder>
                <pattern>${log.pattern}</pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>  
                <onMismatch>DENY</onMismatch>  
            </filter>
        </appender>
        
        <!-- 生产环境用info -->
        <logger name="io.renren" level="${log.lever}">
            <appender-ref ref="debugAppender" />
            <appender-ref ref="infoAppender" />
            <appender-ref ref="errorAppender" />
        </logger>
     
        <root level="info">
            <appender-ref ref="infoAppender" />
            <appender-ref ref="consoleAppender" />
        </root>
          
    </configuration>
    View Code
  • 相关阅读:
    HTML学习笔记2
    HTML的学习笔记
    Unsupported major.minor version 51.0解决办法
    java出现The type java.lang.Object cannot be resolved. It is indirectly referenced.....解决办法
    切片
    switch语句
    if-else语句与for循环
    闭包函数
    函数
    常量
  • 原文地址:https://www.cnblogs.com/lyon91/p/9294926.html
Copyright © 2011-2022 走看看