日志log4j、log4j2

log4j属性文件

##define an appender named console 日志附加器,设置输出位置

log4j.appender.console=org.apache.log4j.ConsoleAppender

#The Target value is System.out or System.err

log4j.appender.console.Target=System.out

#set the layout type of the apperder

log4j.appender.console.layout=org.apache.log4j.PatternLayout

#set the layout format pattern

log4j.appender.console.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}] %c %L %m%n

##define a logger 根日志

#log4j.rootLogger=debug,console,file,rollfile

log4j.rootLogger=debug,console

日志级别

fatal,error,warn,info,debug,trace

log4j:

导入jar包和properties文件,

Logger logger=Logger.getLogger(MyTest.class);

logger.fatal("fatal msg");

logger.error("error msg");

logger.warn("warn msg");

logger.info("info msg");

logger.debug("debug msg");

logger.trace("trace msg");

log4j2

导入jar包和xml配置文件

log4j属性文件结构分析

为什么log4j不用调用就可以输出日志,而log4j2不行?

需要配置log4j2的status属性

status属性跟level什么关系?

Configuration.status是log4j2管理log4j2内部输出信息,与人为设定的日志不同;level是管理人为指定的日志的级别

Log4j2配置文件

<?xmlversion="1.0"encoding="UTF-8"?>

<configurationstatus="DEBUG">

<appenders>

<Consolename="myConsole"target="SYSTEM_OUT">

<PatternLayoutpattern="[%-5p][%d{yyyy-MM-ddHH:mm:ss}][%c%L]%m%n"/>

</Console>

</appenders>

<loggers>

<!--

<loggername="全限定类名或接口名"level="info">

<appender-refref="myConsole"/>

</logger>

-->

<rootlevel="trace">

<appender-refref="myConsole"/>

<!--<appender-refref="myLogFile"/>

<appender-refref="myRollingFile"/>-->

</root>

</loggers>

</configuration>

原文地址:https://www.cnblogs.com/darknessplus/p/10047923.html

时间: 2024-12-11 13:23:56

日志log4j、log4j2的相关文章

spring学习总结(mybatis,事务,测试JUnit4,日志log4j&amp;slf4j,定时任务quartz&amp;spring-task,jetty,Restful-jersey等)

在实战中学习,模仿博客园的部分功能.包括用户的注册,登陆:发表新随笔,阅读随笔:发表评论,以及定时任务等.Entity层设计3张表,分别为user表(用户),essay表(随笔)以及comment表(评论).表结构如下: 项目开发采用Intellij IDEA + maven,整个项目结构如下如下图所示: 在项目的pom.xml文件中,导入项目需要的依赖.pom.xml内容如下所示: 1 <project xmlns="http://maven.apache.org/POM/4.0.0&q

JAVA中的异常处理及日志(log4j为例)的使用

Java的异常 1.Java中所有异常和错误的基类:Throwable Throwable  error Exception (检查时异常)(运行时异常) RuntimeException2.Java中的异常分为运行时异常和检查时异常 运行时异常是表示RuntimeException以及所有子类,这些异常无需再程序中捕获,大多可以通过代码进行控制避免 检查时异常:除了RuntimeException以及其所有子类之外的所有异常,这些异常必须在程序中进行捕获处理. 异常的第一种处理机制--使用tr

Java日志log4j(转:https://www.cnblogs.com/crazyacking/p/5456347.html#_label00)

项目开发中,记录错误日志有以下好处: 方便调试 便于发现系统运行过程中的错误 存储业务数据,便于后期分析 在java中,记录日志有很多种方式: 自己实现 自己写类,将日志数据,以io操作方式,写数据到文本文件.数据库中. 使用log4j log4j可以将日志输出到console窗口.文本文件.数据库等,功能强大! 使用slfj slfj也是一个很强大的功能,slfj旨在一统天下,提供了logging.jar 和 log4j的接口,可以通过slfj来调用log4j,也可以调用jdk的logging

Log4j,Log4j2,logback,slf4j日志学习

日志学习笔记 Log4j Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.数据库等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程. Log4j有7种不同的log级别,按照等级从低到高依次为:TRACE.DEBUG.INFO.WARN.ERROR.FATAL.OFF.如果配置为OFF级别,表示关闭log. Log4j支持两种格式的配置文件:properties和xml.包含三

IDEA整合日志框架Log4j2+Slf4j详细配置过程

日志框架这么多,他们之间到底是什么关系呢?笼统的讲就是slf4j是一系列的日志接口,而log4j2.logback是具体实现了接口功能的日志框架.现在的主流日志接口都使用slf4j,而日志的实现就见仁见智了,至于他们的关系请自行百度,此处选择log4j2作为实现框架.网上看到的教程要么对代码没有解释,对新手不友好:要么时间比较久远,跟不上时代.这里使用新版本并结合大量注释,力求简洁明了,有什么问题欢迎留言交流. 运行环境: log4j2 2.8.1 + slf4j 1.7.25 IntelliJ

Java日志体系 —— log4j2

1.1 简介 log4j2,一个日志的实现框架,是log4j的升级版本,于2014年7月正式亮相.与第一代log4j不同,log4j2完全重写了log4j的日志实现,并不是在原有基础上进行的升级,解决了log4j中的一些问题,例如:多线程下性能低下.api不支持占位符{}的使用.配置文件不能自动重新加载等. 为什么说log4j在多线程情况下性能低下呢?主要是synchronized锁在作怪,当我们的log4jzai 获取appender对象时,需要进行加锁处理:而接下来对appender操作(将

日志框架 log4j2 全解析

概述 logging翻译为日志记录 那问题是什么是日志? 日志实际上是日记的一种,用于记录某个时间点发生了什么事情,比如大学老师的教学日志,工作日志等 为什么要记录日志? 在实际生活中记录日志主要为了日后复查, 比如某个大学老师每天记录自己讲的什么内容,后面有学生某科成绩优异获奖了,校长想要奖励对应的老师,但由于每个老师教的班级都很多,并不一定记得是谁教的,这时候就可以查看教学日志来获取需要的信息了 再比如,工厂的生产日志,如果某个产品除了因为某个零件出现了故障,通过生成日志,可以找到与这个产品

笔记:MyBatis 日志显示-log4j2

在ClassPath路径创建log4j2.xml配置文件,增加如下日志配置: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="OFF"> ????<!-- 附着器配置,日志输出到什么位置 --> ????<Appenders> ????????<!-- 控制台附着器类型,输出结果到 System.out 或是 Syst

spring中配置quartz调用两次及项目日志log4j不能每天生成日志解决方法

在quartz中配置了一个方法运行时会连续调用两次,是因为加载两次,只需在tomcat的server.xml中修改配置 <Host name="www.xx.cn" appBase="" unpackWARs="true" autoDeploy="true"> <Context path="" docBase="webapps/demo" reloadable=&quo