当前位置: 首页 > news >正文

唐山如何做百度的网站建设惠州疫情最新情况

唐山如何做百度的网站建设,惠州疫情最新情况,国务院关于新时期政府网站建设,武汉做商城网站建设最近项目上有使用到log4j2日志模板配置&#xff0c;本文简单总结一下之前的学习笔记&#xff0c;如有纰漏之处&#xff0c;请批评指正。 1. log4j2日志依赖 使用log4j2日志模板时&#xff0c;需要引入相关依赖&#xff0c;下边的两种依赖方式均可。 1.1 使用sl4j依赖时 <…

最近项目上有使用到log4j2日志模板配置,本文简单总结一下之前的学习笔记,如有纰漏之处,请批评指正。

1. log4j2日志依赖

使用log4j2日志模板时,需要引入相关依赖,下边的两种依赖方式均可。

1.1 使用sl4j依赖时

    <properties><spring-boot.version>2.6.13</spring-boot.version><log4j2.version>2.18.0</log4j2.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${spring-boot.version}</version></dependency><!-- log4j2 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.30</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>${log4j2.version}</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>${log4j2.version}</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion></exclusions></dependency>
  • 使用sl4j依赖时,需要在打印日志的类中声明一个日志对象处理
private static  final Logger LOGGER = LoggerFactory.getLogger(xxxxxx.class);// 方法内
LOGGER .info("application started");

 这种方式需要配置很多次,略繁琐。可以类上使用注解@sl4j来代替

1.2 使用lombok依赖时

如果不想像上边那样写一堆sl4f依赖,可以直接使用lombok依赖,作用是相同的。仅仅在需要打印日志的类上配置上注解@sl4j即可。

        <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version></dependency>
  • 在需要打印日志的方法内直接使用
// 方法内
log.info("application started");

 1.3 小结

上边两种配置方式,原理雷同,看实际项目需要和个人喜好使用即可。


2. log4j2.xml日志模板配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF"><properties><!-- 日志打印级别 --><property name="LOG_LEVEL">INFO</property><!-- APP名称 --><property name="APP_NAME" value="spring-mvc-log"/><!-- 日志文件存储路径 --><property name="LOG_HOME">./logs</property><!-- 存储天数 --><property name="LOG_MAX_HISTORY" value="10d"/><!-- 单个日志文件最大值, 单位 = KB, MB, GB --><property name="LOG_MAX_FILE_SIZE" value="10 MB"/><!-- 每天每个日志级别产生的文件最大数量 --><property name="LOG_TOTAL_NUMBER_DAILY" value="10"/><!-- 压缩文件的类型,支持zip和gz,建议Linux用gz,Windows用zip --><property name="LOG_ARCHIVE_FILE_SUFFIX" value="zip"/><!-- 日志文件名 --><property name="LOG_FILE_NAME" value="${LOG_HOME}/${APP_NAME}"/><property name="FILE_NAME_PATTERN" value="${LOG_HOME}/${APP_NAME}.%d{yyyy-MM-dd}"/><!-- %d: 日期%-5level: 日志级别,显示时占5个字符不足[%t]: 线程名%c{1.}: 显示调用者,只显示包名最后一截及方法名,前面的只取首字母.%M(代码行号%L):%msg%n": 需要打印的日志信息,换行:INFO>[MsgToMP:99]Bright: 加粗 --><!--日志输出格式-控制台彩色打印--><property name="ENCODER_PATTERN_CONSOLE">%blue{%d{yyyy-MM-dd HH:mm:ss.SSS}} | %highlight{%-5level}{ERROR=Bright RED, WARN=Bright Yellow, INFO=Bright Green, DEBUG=Bright Cyan, TRACE=Bright White} | %yellow{%t} | %cyan{%l} >>>>> %white{%msg%n}</property><!--日志输出格式-文件--><property name="ENCODER_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} | %-5level | %t | %c{1.} >>>>> %msg%n</property></properties><Appenders><!-- 控制台的输出配置 --><Console name="Console" target="SYSTEM_OUT"><!--输出日志的格式--><PatternLayout pattern="${ENCODER_PATTERN_CONSOLE}" /></Console><!-- 打印出所有的info及以下级别的信息,每次大小超过size进行压缩,作为存档--><RollingFile name="RollingFileAll" fileName="${LOG_FILE_NAME}.ALL.log" filePattern="${FILE_NAME_PATTERN}.ALL.%i.log.${ARCHIVE_FILE_SUFFIX}"><!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)--><ThresholdFilter level="${LOG_LEVEL}" onMatch="ACCEPT" onMismatch="DENY" /><!--输出日志的格式--><PatternLayout pattern="${ENCODER_PATTERN}" /><Policies><!-- 归档每天的文件 --><TimeBasedTriggeringPolicy /><!-- 限制单个文件大小 --><SizeBasedTriggeringPolicy size="${LOG_MAX_FILE_SIZE}" /></Policies><!-- 限制每天文件个数 --><DefaultRolloverStrategy compressionLevel="9" max="${LOG_TOTAL_NUMBER_DAILY}"><Delete basePath="${LOG_HOME}" maxDepth="1"><IfFileName glob="${APP_NAME}.*.ALL.*.log.${ARCHIVE_FILE_SUFFIX}" /><IfLastModified age="${LOG_MAX_HISTORY}" /></Delete></DefaultRolloverStrategy></RollingFile><RollingFile name="RollingFileDebug"fileName="${LOG_FILE_NAME}.DEBUG.log"filePattern="${FILE_NAME_PATTERN}.DEBUG.%i.log.${ARCHIVE_FILE_SUFFIX}"><Filters><ThresholdFilter level="DEBUG" /><ThresholdFilter level="INFO" onMatch="DENY"onMismatch="NEUTRAL" /></Filters><PatternLayout pattern="${ENCODER_PATTERN}" /><Policies><!-- 归档每天的文件 --><TimeBasedTriggeringPolicy /><!-- 限制单个文件大小 --><SizeBasedTriggeringPolicy size="${LOG_MAX_FILE_SIZE}" /></Policies><!-- 限制每天文件个数 --><DefaultRolloverStrategy compressionLevel="9"max="${LOG_TOTAL_NUMBER_DAILY}"><Delete basePath="${LOG_HOME}" maxDepth="1"><IfFileName glob="${APP_NAME}.*.DEBUG.*.log.${ARCHIVE_FILE_SUFFIX}" /><IfLastModified age="7d" /></Delete></DefaultRolloverStrategy></RollingFile><RollingFile name="RollingFileWarn" fileName="${LOG_FILE_NAME}.WARN.log"filePattern="${FILE_NAME_PATTERN}.WARN.%i.log.${ARCHIVE_FILE_SUFFIX}"><Filters><ThresholdFilter level="WARN" /><ThresholdFilter level="ERROR" onMatch="DENY"onMismatch="NEUTRAL" /></Filters><PatternLayout pattern="${ENCODER_PATTERN}" /><Policies><!-- 归档每天的文件 --><TimeBasedTriggeringPolicy /><!-- 限制单个文件大小 --><SizeBasedTriggeringPolicy size="${LOG_MAX_FILE_SIZE}" /></Policies><!-- 限制每天文件个数 --><DefaultRolloverStrategy compressionLevel="9"max="${LOG_TOTAL_NUMBER_DAILY}"><Delete basePath="${LOG_HOME}" maxDepth="1"><IfFileName glob="${APP_NAME}.*.WARN.*.log.${ARCHIVE_FILE_SUFFIX}" /><IfLastModified age="7d" /></Delete></DefaultRolloverStrategy></RollingFile><RollingFile name="RollingFileError"fileName="${LOG_FILE_NAME}.ERROR.log"filePattern="${FILE_NAME_PATTERN}.ERROR.%i.log.${ARCHIVE_FILE_SUFFIX}"><Filters><ThresholdFilter level="ERROR" /></Filters><PatternLayout pattern="${ENCODER_PATTERN}" /><Policies><TimeBasedTriggeringPolicy /><SizeBasedTriggeringPolicy size="${LOG_MAX_FILE_SIZE}" /></Policies><DefaultRolloverStrategy compressionLevel="9"   max="${LOG_TOTAL_NUMBER_DAILY}"><Delete basePath="${LOG_HOME}" maxDepth="1"><IfFileName glob="${APP_NAME}.*.ERROR.*.log.${ARCHIVE_FILE_SUFFIX}" /><IfLastModified age="7d" /></Delete></DefaultRolloverStrategy></RollingFile></Appenders><!--只有定义了logger并引入以上Appenders,Appender才会生效--><Loggers><root level="${LOG_LEVEL}"><appender-ref ref="Console"/><appender-ref ref="RollingFileAll"/><appender-ref ref="RollingFileDebug"/><appender-ref ref="RollingFileWarn"/><appender-ref ref="RollingFileError"/></root></Loggers>
</configuration>

3. 开启Console彩色打印

  • 彩色打印配置

IDEA控制台没有打印彩色日志的主要原因在于 Log4j - 2.10 版本以后Log4j2默认关闭了Jansi(一个支持输出ANSI颜色的类库)

修改jvm参数: -Dlog4j.skipJansi=false

  • 修改前边pom.xml,添加彩色打印依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${spring-boot.version}</version><exclusions><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-log4j2</artifactId><version>${spring-boot.version}</version></dependency>

4. application.yml中配置

logging:config: classpath:log4j2.xmllevel:com.hl.magic.mvc: debug

5.常见模板中日志格式配置

  • springboot默认的日志格式

%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:-} [%15.15t] %-40.40logger{39} : %m%n

  • logback默认的日志格式

%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n

  • lishuoboy推荐日志格式

%d{MM-dd HH:mm:ss.SSS} [%5level] %4line %40.40logger{39}.%-30.30method : %m%n

http://www.hkea.cn/news/730436/

相关文章:

  • 武汉平价做网站网络软文推广案例
  • 新产品线上推广方案鞍山seo外包
  • 网站建网站建设和优佛山网络推广培训
  • 毕业设计做网站怎么样微信crm管理系统
  • 个人网站开发多少钱电脑培训班零基础
  • 互联网有哪些岗位宁波免费seo在线优化
  • 惠州做棋牌网站建设哪家技术好哪里的网络推广培训好
  • 如何做线上赌博的网站推广策略有哪些方法
  • 男的女的做那个视频网站百度收录需要多久
  • 大通县wap网站建设公司网站免费制作
  • 哪个网站教做公众号甘肃百度推广电话
  • 网站怎么让百度收录广告网络推广
  • 小型网站设计及建设论文定制网站制作公司
  • 视频网站建设费用排名优化网站seo排名
  • 怎么自己做网站服务器linux百度账号查询
  • 梧州网站推广方案百度热搜 百度指数
  • 网站不兼容ie6自助建站模板
  • 甘肃网站建设公司百中搜优化软件
  • 国内外贸网站建设公司seo教程 百度网盘
  • 一物一码二维码生成系统最好用的系统优化软件
  • 如何在大网站做外链镇江网站建站
  • 杭州网站建设公司导航短视频营销案例
  • 昆明做网站建设有哪些长尾关键词排名工具
  • 一女被多男做的视频网站网站seo系统
  • 网站建设 青海网站建设找哪家好
  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件
  • 自己做的网站能放到网上么青岛seo经理