文章目录
- 一、排除内置logback
- 1. 删除logback.xml
- 2. 排除内置的logback
- 二、整合log4j2
- 2.1. 依赖log4j2
- 2.2. 配置文件中配置
- 2.3. log4j2日志文件
- 2.4. 效果图
- 2.5. 输出要素
Sringboot 开源框架默认logback日志框架,Guns开源项目也是用logback日志框架
一、排除内置logback
1. 删除logback.xml
在resources目录下面删除logback.xml
2. 排除内置的logback
和小伙伴们分享一下怎样排除内置logback依赖?
拿spring-boot-starter-web
给大家演示:
思路:spring-boot-starter-logging
首先它是一个单独的日志启动器,对吧!一般spring-boot-starter-*
大部分都会有,给大家的思路是,一级一级找,很快就能找到,大家也可以直接把常用的以spring-boot-starter-*
开头的都排除spring-boot-starter-logging
<!--amqp协议--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><exclusions><exclusion><artifactId>spring-boot-starter-logging</artifactId><groupId>org.springframework.boot</groupId></exclusion></exclusions></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId><exclusions><!-- 排除自带的logback依赖 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><!-- 排除自带的logback依赖 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency>
<!--quartz定时任务--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId><exclusions><!-- 排除自带的logback依赖 --><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-logging</artifactId></exclusion></exclusions></dependency>
二、整合log4j2
2.1. 依赖log4j2
<!-- 支持识别yml配置 --><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-yaml</artifactId><version>2.10.0</version></dependency><!--log4j2--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency>
2.2. 配置文件中配置
mybatis-plus:typeAliasesPackage: cn.stylefeng.guns.modular.system.modelmapper-locations:- classpath*:cn/stylefeng/guns/**/mapping/*.xmlconfiguration:log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl#log4j2 預警
logging:config: classpath:log4j2-test.ymllevel:root: info注:关于以下2航配置是否要加取决于,guns的版本,最新版本好像不需要加
configuration:log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl
2.3. log4j2日志文件
Appenders:Console: #输出控制台的配置-name: CONSOLE #Appender命名target: SYSTEM_OUTPatternLayout: #Pattern Layouts是一个灵活的布局,是最常用的日志格式配置。
# JsonLayout: #JsonLayout是用于console查看json时方便查看pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"# 这个会打印出所有的信息,每次大小超过50MB size,则这size大小的日志会自动存入按(年份-月份)/(yyyy-MM-dd)建立的文件夹下面以HH-mm-ss格式作为存档
# 如果需要压缩,在文件名后面添加.gz即可RollingFile:- name: ROLLING_FILEignoreExceptions: falsefileName: /app/dca_apply/log/dca_health.log #linux环境下生成的文件目录 一般为/**/**.log
# fileName: D:/dca_apply/logs/dca_health.log #windows环境下生成的文件目录 一般为*:/**/**.log
# filePattern: "D:/dca_apply/logs/$${date:yyyy-MM}/$${date:yyyy-MM-dd}/dca-%d{HH-mm-ss}-%i.log"filePattern: "/app/dca_apply/logs/$${date:yyyy-MM}/$${date:yyyy-MM-dd}/dca-%d{HH-mm-ss}-%i.log"
# filePattern: "/app/dca_apply/logs/$${date:yyyy-MM}/$${date:yyyy-MM-dd}/dca-%d{HH-mm-ss}-%i.log.gz"PatternLayout:pattern: "{\"@timestamp\":\"%d{yyyy-MM-dd'T'HH:mm:ss.SSS'Z'}\",\"LogId\":\"%X{logid}\",\"level\":\"%-5level\",\"threadID\":\"%threadId\",\"threadName\":\"%t\",\"ip\":\"${sys:local-ip}\",\"class\":\"%C\",\"method\":\"%M\",\"Line\":\"%L\",\"applicationName\":\"dca\",\"type\":\"common\",\"message\":\"%replace{%replace{%msg%xEx}{\"}{\\\\\"}}{[\f\n\r\t\v]}{ }\"}%n"
# pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"Policies:SizeBasedTriggeringPolicy:size: "50 MB" #输出到文件最大内存DefaultRolloverStrategy:max: 1000Loggers:Root:level: infoAppenderRef:- ref: CONSOLE- ref: ROLLING_FILELogger: #单独设置某些包的输出级别- name: com.sinosoft #复数加上-additivity: false #去除重复的loglevel: debugAppenderRef:- ref: CONSOLE #复数加上-- ref: ROLLING_FILE #复数加上-
2.4. 效果图
2.5. 输出要素
sql语句
入参
结果集数量