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

在apache-maven项目中使用log4写日志

一、添加log4j2.xml配置文件

在src/main/resources目录下创建 log4j2.xml 文件 并写入下面代码

image

<?xml version="1.0" encoding="UTF-8"?>
<!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL -->
<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<Configuration status="info" monitorInterval="60"><!--定义了两个常量方便后面复用 --><properties><!--生成的日志文件目录地址  --><property name="LOG_HOME">logs/</property><!--日志文件名称 --><property name="FILE_NAME">LogFile</property></properties><!--先定义所有的appender--><Appenders><!-- 定义控制台输出 --><Console name="Console" target="SYSTEM_OUT"><!--输出日志的格式--><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-4level %l - %msg%n" /></Console><!--满足一定条件后,就重命名原日志文件用于备份,并从新生成一个新的日志文件 --><!--fileName:指定当前日志文件的位置和文件名称   filePattern:指定当发生Rolling时,文件的转移和重命名规则--><RollingFile name="uleWalletEjbLogFile"fileName="${LOG_HOME}/${FILE_NAME}.log"filePattern="${LOG_HOME}/$${date:yyyy-MM-dd}/${FILE_NAME}-%d{yyyy-MM-dd HH}-%i.log"><PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-4level %l - %msg%n" charset="UTF-8" /><Policies><!--TimeBasedTriggeringPolicy这个配置需要和filePattern结合使用,注意filePattern中配置的文件重命名规则是${FILE_NAME}-%d{yyyy-MM-dd HH-mm}-%i,最小的时间粒度是mm,即分钟,TimeBasedTriggeringPolicy指定的size是1,结合起来就是每1分钟生成一个新文件。如果改成%d{yyyy-MM-dd HH},最小粒度为小时,则每一个小时生成一个文件。  --><TimeBasedTriggeringPolicy interval="1" /><!--SizeBasedTriggeringPolicy  指定当文件体积大于size指定的值时,触发Rolling 2048 MB --><SizeBasedTriggeringPolicy size="20 MB" /></Policies><DefaultRolloverStrategy max="30" /></RollingFile></Appenders><Loggers><Root level="DEBUG"><AppenderRef ref="Console" /><AppenderRef ref="uleWalletEjbLogFile" /></Root><!-- 过滤掉 指定类的debug --><Logger name="io.netty" level="info" additivity="false"><AppenderRef ref="Console" /></Logger><Logger name="org.eclipse.jetty" level="info" additivity="false"></Logger><!-- 收到坐席消息<Logger name="com.joincall.j3c.agentservice.AbstractAgentConnector" level="info" additivity="false"><AppenderRef ref="Console" /></Logger>--><!-- 过滤掉 指定类的debug   <AppenderRef ref="Console" /> --><Logger name="org.apache.activemq" level="debug" additivity="false"></Logger></Loggers>
</Configuration>

二、在pom.xml中添加引用

    <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.17.2</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-slf4j-impl</artifactId><version>2.17.2</version></dependency>

image

 三、代码中调用

添加引用

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

定义

private static final Logger logger = LoggerFactory.getLogger(App.class);

使用

logger.info("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
logger.error("@@@@@@@@ 启动 JavaMavenDemo V1.8.8 @@@@@@");
logger.debug("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");

image

四、编译且运行

mvn compile exec:java -Dexec.mainClass="com.JavaMavenDemo.App"      #编译且运行App中的main函数

运行效果

image

 在logs目录下

image

 这个 log4j2.xml 配置,会每小时创建一个文件,每天创建一个目录

image

 

http://www.jsqmd.com/news/656012/

相关文章:

  • 别再只盯着自动跟随了!聊聊智能行李箱那些被低估的‘小功能’:指纹锁、称重和快充怎么选?
  • 揭秘GitHub Copilot在Scrum中的真实落地路径:从Sprint Planning到Daily Standup的5个关键嵌入点
  • 2026年GEO推广怎么选择,聊聊值得推荐的靠谱公司 - 工业品牌热点
  • 2026年可湿水的一屋纸抽纸定制厂,柔软亲肤的一屋纸抽纸厂家,加厚耐用的一屋纸抽纸定制厂 - 品牌策略师
  • 为什么你的苹果触控板在Windows上不够流畅?mac-precision-touchpad驱动给你原生级体验
  • Ubuntu系统MPI并行计算环境搭建实战
  • 5分钟快速激活Windows和Office:智能激活工具完全指南
  • LaTeX排版中文论文时,你踩过这几个坑吗?关于字体、行距和页边距的避坑指南
  • 盘点2026年口碑好的大型固结仪供应商,专业制造商值得关注 - 工业推荐榜
  • 施密特触发电路实战:如何用CMOS门电路搭建一个脉冲整形器(附回差电压计算)
  • 别再为钙成像数据发愁了!手把手教你用MATLAB的Calcium Imaging Analysis包搞定预处理与胞体识别
  • PowerDMIS插入提示
  • 如何用STM32+ESP8266+2.13寸墨水屏打造超低功耗桌面时钟(附完整代码)
  • 运维实战:K8s节点维护,用cordon、drain还是delete?一张图帮你做决策
  • 全志T113-S3嵌入式Linux日志分析实战:从syslog到syslog-ng的完整配置指南
  • LED灯珠生产厂家推荐 - 企业推荐官【官方】
  • 3个高效技巧:用FanControl打造完美的Windows风扇控制方案
  • 5分钟终极指南:使用KMS_VL_ALL_AIO智能激活Windows和Office
  • 2026年长沙湖南系统门窗、断桥铝门窗与阳光房定制源头厂家选购指南(含官方联系方式) - 精选优质企业推荐官
  • Matlab/Simulink几个开发小工具
  • 上下文感知力决定AI编码生产力,从Token截断到意图延续:工程师必须掌握的4类动态上下文注入技术
  • 从零到Offer:一名计算机保研生的实战推免指南与心路剖析
  • 盘点2026年靠谱的驾校,探讨春申驾校的教学质量稳定吗 - myqiye
  • Motrix WebExtension终极指南:如何快速提升浏览器下载效率300%
  • 避坑指南:树莓派4B用RPi.GPIO控制舵机时,如何彻底解决抖动和信号延迟问题?
  • Windows音量弹窗终结者:HideVolumeOSD技术深度解析
  • ZYNQ双核通信避坑指南:如何用OCM共享内存和SGI中断实现高效数据交换
  • 2026年市场比较好的工业输送pp防静电管生产商推荐榜 - 品牌排行榜
  • 飞腾E2000平台u-boot定制化编译与固件打包实战
  • 政务内网大屏地图加载失败?手把手教你用Leaflet.js + 离线瓦片搞定高德地图