zoukankan      html  css  js  c++  java
  • springboot(九)-log配置

    spring项目放到tomcat中运行,我们可以在tomcat的logs文件夹下面生成log文件。那么我们的springboot项目没有放到系统安装的tomcat容器中,怎么设置生成log文件呢?

    有两种方式:

    1.使用log4j

      使用log4j,在application.properties文件中配置

      logging.path = d:/myLog

      然后项目运行之后,会在d盘生成一个myLog的文件夹,里面有一个叫spring的文件,生成的log记录都在该文件里。(不推荐使用)

    2.使用SLF4J/logback

      springboot是默认使用SLF4J/logback的。

      两个地方:

    • 使用    
     1 import org.aspectj.lang.annotation.AfterReturning;
     2 import org.aspectj.lang.annotation.Aspect;
     3 import org.aspectj.lang.annotation.Pointcut;
     4 import org.slf4j.Logger;
     5 import org.slf4j.LoggerFactory;
     6 import org.springframework.stereotype.Component;
     7 
     8 import com.cetc.cks.constant.Constant;
     9 
    10 import net.sf.json.JSONObject;
    11 
    12 /**
    13  * 管理员重置密码或给某用户解绑做日志管理
    14  */
    15 @Aspect
    16 @Component
    17 public class AspectReset {
    18 
    19     private final static Logger log = LoggerFactory.getLogger(AspectReset.class);
    20 
    21         // 。。。
    22 }
    点击展开
    • 配置

      在src/main/resource目录下添加logback.xml文件

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <configuration debug="false" scan="false">
     3 
     4     <!-- Log file path ../../../../../../../ to disk root -->
     5     <property name="log.path" value="logs" />
     6 
     7     <!-- Spring boot default -->
     8     <include resource="org/springframework/boot/logging/logback/defaults.xml" />
     9 
    10     <!-- Console log output -->
    11     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    12         <encoder>
    13             <pattern>%d{MM-dd HH:mm:ss.SSS} %-5level [%logger{50}] - %msg%n</pattern>
    14         </encoder>
    15     </appender>
    16 
    17     <!-- Log file debug output -->
    18     <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
    19         <file>d:/logs/debug.log</file>
    20         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    21             <fileNamePattern>d:/logs/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
    22             <maxFileSize>50MB</maxFileSize>
    23             <maxHistory>30</maxHistory>
    24         </rollingPolicy>
    25         <encoder>
    26             <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
    27         </encoder>
    28     </appender>
    29 
    30     <!-- Log file error output -->
    31     <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
    32         <file>d:/errorlogs/error.log</file>
    33         <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    34             <fileNamePattern>d:/errorlogs/error.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
    35             <maxFileSize>50MB</maxFileSize>
    36             <maxHistory>30</maxHistory>
    37         </rollingPolicy>
    38         <encoder>
    39             <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
    40         </encoder>
    41         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
    42             <level>ERROR</level>
    43         </filter>
    44     </appender>
    45 
    46     <!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
    47     <root level="INFO">
    48         <appender-ref ref="console" />
    49         <appender-ref ref="debug" />
    50         <appender-ref ref="error" />
    51     </root>
    52 
    53     <logger name="sun.rmi.loader" level="WARN"/>
    54     <logger name="com.zaxxer.hikari" level="WARN"/>
    55     <logger name="org.springframework" level="WARN"/>
    56     <logger name="org.apache.http" level="WARN"/>
    57     <logger name="com.ulisesbocchio" level="WARN"/>
    58     <logger name="com.netflix.discovery" level="WARN"/>
    59 </configuration>
    点击展开

    项目运行之后,在D盘logs目录下会出现

    它以天为单位将每天的日志文件打成压缩包,具体参照logback.xml文件中内容。

  • 相关阅读:
    Java类加载器回顾
    2018第24周总结
    JUC类图
    CopyOnWrite 策略
    Python导入模块的几种姿势
    查看linux接口进出口流量的命令;linux 网络监控;流量监控
    jenkins修改日志级别方法
    top命令查看线程信息和jstack使用介绍
    How to force immediate stop of threads in Jmeter servers如何在jmeter执行完,立即停止jmeter
    pycharm支持react
  • 原文地址:https://www.cnblogs.com/fengyuduke/p/10559914.html
Copyright © 2011-2022 走看看