日志:slf4j+log4j+maven配置

代码的日志输出,前前后后折腾了我好几次。

本着会用,快速配置的原则,还是将配置过程记录下来,以便复用。

参考:http://blog.csdn.net/anialy/article/details/8529188

1. 据说slf4j的效率比log4j的效率高,所以大体上采用slf4j来记录日志。

2. slf4j提供了一套api而log4j是具体的实现,所以想使用slf4j则需要具体实现slf4j的api。

  所以,log4j实现 + slf4j api ==> slf4j实现, 此过程采用了适配器模式。

3. 具体配置过程:

1) 添加maven依赖

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.2</version>
</dependency>

会添加如下依赖:

slf4j-api, log4j, slf4j-log4j  ==>  验证第2点。

2) classpath下添加log4j.properties

log4j.properties:

#config root logger
log4j.rootLogger = INFO,system.out
log4j.appender.system.out=org.apache.log4j.ConsoleAppender
log4j.appender.system.out.layout=org.apache.log4j.PatternLayout
log4j.appender.system.out.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n

#config this Project.file logger
log4j.logger.thisProject.file=INFO,thisProject.file.out
log4j.appender.thisProject.file.out=org.apache.log4j.DailyRollingFileAppender
log4j.appender.thisProject.file.out.File=logContentFile.log
log4j.appender.thisProject.file.out.layout=org.apache.log4j.PatternLayout

3) 代码中设置Logger

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

Done!

时间: 2024-08-14 01:01:40

日志:slf4j+log4j+maven配置的相关文章

日志slf4j+log4j配置问题

简介slf4j  相当于抽象类log4j 相当于实现,当然还有其他的实现,如logback,jdk自带的logging等 具体配置maven 配置 pom.xml加入 <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.6</version> </dependency> <dep

在android中配置 slf4j + log4j 日志记录框架

需求: 在项目开发中,需要记录 操作日志 .起初自己写了个简单的日志记录文本写入到文本的方法,后来随着项目的膨胀,需要考虑更多的操作,开始考虑性能问题. 实现: 考虑使用 slf4j + log4j 框架来实现.slf4j 是日志记录的一个facade,支持多种日志框架.log4j是个很优秀的日志记录框架. 实现: 下载类库: 先到各主站点下载类库 slf4j 网址 :http://www.slf4j.org/download.html log4j网址: http://logging.apach

java log4j基本配置及日志级别配置详解

java log4j日志级别配置详解 1.1 前言 说出来真是丢脸,最近被公司派到客户公司面试外包开发岗位,本来准备了什么redis.rabbitMQ.SSM框架的相关面试题以及自己做过的一些项目回顾,信心满满地去面试,结果别人一上来就问到了最近项目使用的日志系统是什么?日志级别是怎么配置的?当时我都蒙X了,平时都是项目经理搭的,我自己也是随便上网一搜往配置文件一黏贴就OK了.我就这么说完后面试官深深定了我一眼,当时我的内心羞愧到...... 1.2 闲话少说,讲讲日志的发展故事(如果已经了解的

日志管理-log4j与slf4j的使用

一.概述 1.log4j: Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 2.slf4j: SLF4J,即简单日志门面(Simple Logging Facade

通过slf4j/log4j的MDC/NDC 实现日志追踪

在分布式系统或者较为复杂的系统中,我们希望可以看到一个客户请求的处理过程所涉及到的所有子系统\模块的处理日志. 由于slf4j/log4j基本是日志记录的标准组件,所以slf4j/log4j成为了我的重点研究对象. slf4j/log4j支持MDC,可以实现同一请求的日志追踪功能. 基本思路是: 实现自定义Filter,在接受到http请求时,计算eventID并存储在MDC中.如果涉及分布式多系统,那么向其他子系统发送请求时,需要携带此eventID. 源代码:https://github.c

Spring中配置使用slf4j + log4j

本人也是查看别人博客获得的方法,详细讲解请参照 https://www.cnblogs.com/yuxiaole/p/9297266.html 下面进入正题: 1.在pom.xml中注入相关的依赖 <!-- slf4j + log4j 日志 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version&g

软件开发工程师(JAVA)中级考试大纲-----四(四)Log4J的原理及配置;Log4J常用的API;在项目中应用日志框架Log4J关键类和接口介绍;Java properties配置文件log

log4j Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 1定义 log4j--log for java(java的日志) 在强调可重用组件开发的今天,除了

使得“Log4J日志文件保存路径”可配置

使用Log4J日志框架,可以配置将日志记录到文件中,示例配置如下: log4j.appender.A1=org.apache.log4j.RollingFileAppender log4j.appender.A1.Threshold=INFO log4j.appender.A1.File=log/info.log log4j.appender.A1.Append=true log4j.appender.A1.Encoding=GBK log4j.appender.A1.MaxFileSize=2

Log4j按级别输出日志到不同文件配置

1.自定义LogFileAppender类,继承DailyRollingFileAppender,实现Log4j按级别输出日志到不同文件. package com.liying.mango.common.interceptor; import org.apache.log4j.DailyRollingFileAppender; import org.apache.log4j.Priority; public class LogFileAppender extends DailyRollingFi