log4j配置

细说Java主流日志工具库

好久不见. 提交于 2020-03-05 22:03:53
目录 概述    java.util.logging (JUL)    Log4j    Logback    Log4j vs Logback    common-logging    slf4j    common-logging vs slf4j    总结 实施日志解决方案    引入jar包      slf4j直接绑定日志组件      slf4j兼容非slf4j日志组件      spring 集成 slf4j      common-logging绑定日志组件    配置      完整的logback.xml参考示例      完整的log4j.xml参考示例      logback配置参数说明    使用API      slf4j用法      common-logging用法 参考 概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子。 我们先来逐一了解一下主流日志工具。 java.util.logging (JUL) JDK1.4开始,通过 java.util.logging 提供日志功能。 它能满足基本的日志需要,但是功能没有Log4j强大,而且使用范围也没有Log4j广泛。 Log4j Log4j是apache的一个开源项目,创始人Ceki Gulcu。

Maven及LOG4J配置示例

白昼怎懂夜的黑 提交于 2020-03-02 18:46:36
刚才在测试小项目里配置了一下log4j,很久不用,有些遗忘了,配置完发出来备忘一下 首先用maven引入log4j,相关的代码如下: <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.9</version> </dependency> 然后是配置log4j.properties,这里没有采用xml的配置格式 ### set log levels ### log4j.rootLogger = debug , stdout ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出到日志文件 ### log4j.appender.D = org.apache.log4j

Log4j配置使用&集成kafka

浪子不回头ぞ 提交于 2020-03-02 16:58:29
Log4j配置使用 1、配置根Logger: log4j.rootLogger = [level],appenderName1(输出目录1),appenderName2(输出目录2),… 1.1、level一般分为5个级别:DEBUG < INFO < WARN < ERROR < FATAL Log4j有一个规则:只输出级别不低于(>=)设定级别的日志信息 假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出 1.2、appenderName:就是指定日志信息输出到哪个地方,可以同时指定多个输出目录 注意: 这里设置的输出目录要和下面具体配置输出目录名保持一致 示例: log4j.rootLogger=INFO,KAFKA,rolling 2、配置日志信息输出目的地(appender): appender KAFKA log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender log4j.appender.KAFKA.topic=tigbs_monitor_log log4j.appender.KAFKA.brokerList=kafka04broker01.cnsuning.com:9092,kafka04broker02

从Log4j迁移到LogBack的理由

荒凉一梦 提交于 2020-03-02 06:24:48
无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进。不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j。牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立。所以如果你已经对log4j很熟悉,你也可以很快上手logback。如果你喜欢使用log4j,你也许会迷上使用logback。 更快的执行速度 基于我们先前在log4j上的工作,logback 重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的同时,同时所需的内存更加少。 充分的测试 Logback 历经了几年,数不清小时数的测试。尽管log4j也是测试过的,但是Logback的测试更加充分,跟log4j不在同一个级别。我们认为,这正是人们选择Logback而不是log4j的最重要的原因。人们都希望即使在恶劣的条件下,你的日记框架依然稳定而可靠。 logback-classic 非常自然的实现了SLF4J logback-classic中的登陆类自然的实现了SLF4J。当你使用 logback-classic作为底层实现时,涉及到LF4J日记系统的问题你完全不需要考虑。更进一步来说,由于 logback-classic强烈建议使用SLF4J作为客户端日记系统实现

java log4j使用

笑着哭i 提交于 2020-03-01 04:03:05
log4j使用方法 1、定义配置文件 首先使用配置文件将使我们的应用程序更加灵活配置log日志输出方式包括输出优先级、输出目的地、输出格式。Log4j支持两种配置文件格式,一种是 XML格式的文件,一种是Java特性文件log4j.properties(键=值)。下面将介绍使用log4j.properties文件作为配置文 件的方法: ①配置根Logger,其语法为:0 log4j.rootLogger = [ level ] , appenderName, appenderName, … 其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指定日志信息输出到哪个地方。可同时指定多个输出目的地。 ②配置日志信息输出目的地Appender,其语法为: log4j.appender.appenderName = fully.qualified.name.of.appender.class log4j.appender

纯Java配置使用slf4j配置log4j

南笙酒味 提交于 2020-02-29 08:19:16
工程目录如下 代码里面用的是slf4j,但是想要用log4j来管理日志,就得添加slf4j本来的jar,然后添加log4j和slf4j箱关联的jar即可。 如果是maven项目的话添加下面的依赖即可 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> 注意,因为没有写log4j的加载路径, 所以一定要写在src的下一级 ,中间不能有其他的文件夹或包,不然就不起作用了,单独用log4j的时候也要直接放在src,不能随意乱放。 log4j.properties ### 设置### log4j.rootLogger

shiro

二次信任 提交于 2020-02-27 14:17:04
shiro 依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.5.1</version> </dependency> <!--log4j及相关--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>2.0.0-alpha1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>2.0.0-alpha1</version> </dependency> log4j配置 log4j.rootLogger=INFO, stdout log4j.appender.stdout=org.apache.log4j

Maven+SSM框架(Spring+SpringMVC+MyBatis)(二)

放肆的年华 提交于 2020-02-27 08:59:29
1.基本概念 2.开发环境搭建 3.Maven Web项目创建 4.SSM整合 此次整合我分两个配置文件:   1)分别是spring-mybatis.xml,包含spring和mybatis的配置文件,   2)还有个是spring-mvc的配置文件,   3)此外有2个资源文件:jdbc.propertis和log4j.properties 以下是框架版本及来源 :   Spring 4.0.2 RELEASE(PS:无需手动下载,Maven会自动下)   Spring MVC 4.0.2 RELEASE(PS:无需手动下载,Maven会自动下)   MyBatis 3.2.6 *打开 xml 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Xml > Xml Files > Editor > Content Assist > Auto activation > Prompt when these characters are inserted,设置框中默认是 <=: ,改成<=:qwertyuioplkjhgfdsazxcvbnm就ok了。 下面是项目完整结构,先有个印象 : 4.1 Maven引入需要的jar包 为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包

从Log4j迁移到LogBack的理由

北慕城南 提交于 2020-02-26 05:56:19
英文原文: Reasons to prefer logback over log4j 无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进。不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j。牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立。所以如果你已经对log4j很熟悉,你也可以很快上手logback。如果你喜欢使用log4j,你也许会迷上使用logback。 更快的执行速度 基于我们先前在log4j上的工作,logback 重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的同时,同时所需的内存更加少。 充分的测试 Logback 历经了几年,数不清小时数的测试。尽管log4j也是测试过的,但是Logback的测试更加充分,跟log4j不在同一个级别。我们认为,这正是人们选择Logback而不是log4j的最重要的原因。人们都希望即使在恶劣的条件下,你的日记框架依然稳定而可靠。 logback-classic 非常自然的实现了SLF4J logback-classic中的登陆类自然的实现了SLF4J。当你使用 logback-classic作为底层实现时,涉及到LF4J日记系统的问题你完全不需要考虑。更进一步来说,由于 logback

Log4net是Apache log4j框架在Microsort.NET平台实现的框架.

落爺英雄遲暮 提交于 2020-02-26 02:44:26
Log4net是Apache log4j框架在Microsort.NET平台实现的框架. 帮助程序员将日志信息输出到各种目标(控制台,数据库,文件等) 1.新建一个ASP.NET项目 2.新建一个 log4net.config 文件,用来放置日志的配置,为什么不写在在web.Config中呢,主要是因为这样更加清晰,明了,不会那么的混乱 打开log4net.config文件,将下面的配置复制进去 <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <system.web> <compilation debug="true" targetFramework="4.5.2" /> <httpRuntime targetFramework="4.5.2" /> </system.web> <log4net> <!--错误日志:::记录错误日志--> <!--按日期分割日志文件 一天一个--> <!-- appender 定义日志输出方式 将日志以回滚文件的形式写到文件中。-->