微信如何做微商城网站,手机购物网站模版,怎样把自己的产品放到网上销售,朋友圈推广广告点击下方关注我#xff0c;然后右上角点击...“设为星标”#xff0c;就能第一时间收到更新推送啦~~~ Apache Log4j 2 是对 Log4j 的升级#xff0c;与其前身 Log4j 1.x 相比有了显着的改进#xff0c;并提供了许多 Logback 可用的改进#xff0c;同时支持 JCL 以及 SLF4J… 点击下方关注我然后右上角点击...“设为星标”就能第一时间收到更新推送啦~~~ Apache Log4j 2 是对 Log4j 的升级与其前身 Log4j 1.x 相比有了显着的改进并提供了许多 Logback 可用的改进同时支持 JCL 以及 SLF4J。 1 Log4j2 使用实例 1、选择 jar 包 引入 Log4j2 必要的包log4j-api、log4j-core。 2、pom.xml 配置 dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion2.8.2/version
/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.8.2/version
/dependency 3、log2j 配置文件log4j2.xml ?xml version1.0 encodingUTF-8?
!--日志级别以及优先级排序: OFF FATAL ERROR WARN INFO DEBUG TRACE ALL --
!-- status用来指定Log4j本身的打印日志的级别 --
!--monitorIntervalLog4j能够自动检测修改配置文件和重新配置本身设置间隔秒数 --
configuration statusWARN monitorInterval30!--先定义所有的appender --appenders!--这个输出控制台的配置 --console nameConsole targetSYSTEM_OUT!--输出日志的格式 --PatternLayoutpattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %logger{36} - %msg%n //console!--定义输出到指定位置的文件 --File namelog fileName/jpm/log4j2/logs/log.log appendtruePatternLayoutpattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %logger{36} - %msg%n //File!-- 这个会打印出所有的info及以下级别的信息每次大小超过size则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩作为存档 --RollingFile nameRollingFileInfo fileName/jpm/log4j2/logs/info.logfilePattern/jpm/log4j2/logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log!--控制台只输出level及以上级别的信息onMatch其他的直接拒绝onMismatch --ThresholdFilter levelinfo onMatchACCEPTonMismatchDENY /PatternLayoutpattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %logger{36} - %msg%n /PoliciesTimeBasedTriggeringPolicy /SizeBasedTriggeringPolicy size100 MB //Policies!-- DefaultRolloverStrategy属性如不设置则默认为最多同一文件夹下7个文件这里设置了30 --DefaultRolloverStrategy max30 //RollingFileRollingFile nameRollingFileError fileName/jpm/log4j2/logs/error.logfilePattern/jpm/log4j2/logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.logThresholdFilter levelerror onMatchACCEPTonMismatchDENY /PatternLayoutpattern[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] %l %logger{36} - %msg%n /PoliciesTimeBasedTriggeringPolicy /SizeBasedTriggeringPolicy size100 MB //Policies/RollingFile/appenders!--只有定义了logger并引入的appenderappender才会生效 --loggers!--过滤掉spring和mybatis的一些无用的DEBUG信息 --logger nameorg.springframework levelINFO/loggerlogger nameorg.mybatis levelINFO/loggerroot levelINFOappender-ref refConsole /appender-ref reflog /appender-ref refRollingFileInfo /appender-ref refRollingFileError //root/loggers/configuration 4、输出日志的代码示例 package jpm.log4j2;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class TestLog4j2 {
public static void main(String[] args) { final Logger LOGGER LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);LOGGER.debug(TestLog4j2 debug log.);LOGGER.info(TestLog4j2 info log.);LOGGER.error(TestLog4j2 error log.);}
} 5、打印日志结果 2 关于日志 level 日志 level 共有 8 个级别按照从低到高为All Trace Debug Info Warn Error Fatal OFF。 All最低等级的用于打开所有日志记录 Trace是追踪就是程序推进以下你就可以写个 trace 输出所以 trace 应该会特别多不过没关系我们可以设置最低日志级别不让他输出 Debug指出细粒度信息事件对调试应用程序是非常有帮助的 Info消息在粗粒度级别上突出强调应用程序的运行过程 Warn输出警告及 warn 以下级别的日志 Error输出错误信息日志 Fatal输出每个严重的错误事件将会导致应用程序的退出的日志 OFF最高等级的用于关闭所有日志记录 程序会打印高于或等于所设置级别的日志设置的日志等级越高打印出来的日志就越少。 后面为大家介绍项目中的 JCL(java common logging) 和 SLF4J 分别与 Log4j 结合使用的示例。