POM坐标

在pom.xml中添加日志依赖

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

跟目录下添加log4j.properties文件,IDEA中放在main/resource下,Eclipse放在src下面下。

Log4j根据日志信息的重要程度,从高到低分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL。

log4j.rootLogger = [ level ] , appenderName, appenderName, …把指定级别以上的日志信息输出到指定的一个或者多个位置,level默认info,即只输出info以上的内容(不输出DEBUG和All)。

log4j-1.2.16.jar包下的org.apache.log4j.PatternLayout.class文件查看所有ConversionPattern代表的含义,或查询官网api(此处为1.2版本)

log4j.properties

log4j.rootLogger=INFO,console,file,errorFile
#指定包名配置
log4j.logger.com.gmtx.system.checkzwtask=INFO,zwFile log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p [%t] %37c %3x - %m%n ###保存info级别的日志到单个文件
log4j.appender.File=org.apache.log4j.FileAppender
log4j.appender.file.File=${user.home}/logs/info.log
log4j.appender.file.Append = true
log4j.appender.file.encoding=UTF-
log4j.appender.file.Threshold = INFO
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[ %p ] %-d{yyyy-MM-dd HH:mm:ss} [ %t:%L ] %37c %3x - %m%n ###按天保存异常信息到单独文件###
log4j.appender.errorFile = org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorFile.File = ${user.home}/logs/error.log
log4j.appender.errorFile.DatePattern=yyyy-MM-dd'-error.log'
log4j.appender.errorFile.Append = true
log4j.appender.errorFile.encoding=UTF-
log4j.appender.errorFile.Threshold = ERROR
log4j.appender.errorFile.layout = org.apache.log4j.PatternLayout
log4j.appender.errorFile.layout.ConversionPattern = [ %p ] %-d{yyyy-MM-dd HH:mm:ss} [ %t:%L ] %37c %3x - %m%n ###指定包名下的输出到指定文件
log4j.appender.zwFile=org.apache.log4j.FileAppender
log4j.appender.zwFile.layout=org.apache.log4j.PatternLayout
log4j.appender.zwFile.File = /logs/checkzwtask.log
log4j.appender.zwFile.encoding=UTF-
log4j.appender.zwFile.Append=true
log4j.appender.zwFile.layout.ConversionPattern=[ %p ] %-d{yyyy-MM-dd HH:mm:ss} [ %t:%L ] %37c %3x - %m%n #设置指定包的level等级(rootLogger代表所有),但是不能再指定appender,否则每个appender会打印两次
log4j.logger.org.smart4j=DEBUG

将日志通用root级别设置为ERROR,并提供了两种日志appender,分别是console与file。

最后一句指定只有org.smart4j包下的类才能输出DEBUG级别的日志,和第一行的rootLogger相似,只不过把rootLogger换成了具体包名。

其他有用设置

#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.file = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.file.File = /home/logs/ssm.log
#定义文件最大大小
log4j.appender.file.MaxFileSize = 10M

测试,这里user.home为C:\Users\Administrator

public class PropsUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(PropsUtil.class); public static void main(String[] args) throws IOException {
/*测试日志*/
LOGGER.error("text");
}
}

没有产生文件:

rootLogger自定义的appender名称。一定要注意大小写,上下一定要一致。

web.xml配置文件

    <!-- log4j classpath:为src/resource下面 -->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>

slf4j日志用法的更多相关文章

  1. SpringBoot 整合 slf4j 日志打印

    划水时间,记录一下用到的相关slf4j 日志打印,如何实现配置输出.本地保存log日志文件... 我使用的是SpringBoot框架,slf4j 类库已经包含到了 SpringBoot 框架中,所有, ...

  2. SLF4J日志系统在项目导入时频现的问题

    一.概述 近期在导入一个已有的项目时,日志系统出现了一个问题.错误信息如下: SLF4J问题 SLF4J: Failed to load class "org.slf4j.impl.Stat ...

  3. SLF4J 日志门面

    目录 01.简单介绍 02.日志级别 03.入门案例 03.动态打印 04.异常打印 05.日志集成 06.集成 logback 07.集成 slf4j-nop 08.集成 log4j 09.集成 j ...

  4. slf4j日志系统

    slf4j:由外观模式实现,不是日志的解决方案,只是服务于各种各样的日志系统.可以让在应用部署的时候,选择合适的日志系统 slf4j + log4j : 配置日志文件:log4j.properties ...

  5. SLF4J日志门面

    SLF4J官网:http://www.slf4j.org/ SLF4J的作用通俗点讲,就是可以让我们的项目以最小的代价更换不同的日志系统.无需修改代码,只需要添加.删除相应的jar包和配置文件. 1. ...

  6. slf4j日志门面担当

    一.简介 slf4j主要是为了给Java日志访问提供一个标准.规范的API框架,其主要意义在于提供接口,具体的实现可以交由其他日志框架,例如log4j和logback等.当然slf4j自己也提供了功能 ...

  7. slf4j日志的使用

    slf4j(simple logging facade for Java)是Java的简单的日志门面,它不是具体的日志解决方案,它只服务于各种各样slf4j-logo的日志系统.这里的slf4j-lo ...

  8. Log4j,Log4j2,logback,slf4j日志学习

    日志学习笔记 Log4j Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.数据库等:我们也可以控制每一条日志的输出格式:通过定义每一条 ...

  9. slf4j日志框架绑定机制

    一.环境搭建 我们以log4j为例,探寻slf4j与log4j的绑定过程. 1.Java类 public class Slf4jBind { public static void main(Strin ...

随机推荐

  1. Django 创建项目笔记

    基本命令 mkdir mysite # 创建项目目录,常取名mysite cd mysite virtualenv env # env\Scripts\activate.bat # Win pip i ...

  2. [NOI1995]石子合并 四边形不等式优化

    链接 https://www.luogu.org/problemnew/show/P1880 思路 总之就是很牛逼的四边形不等式优化 复杂度\(O(n^2)\) 代码 #include <ios ...

  3. Spring与MyBatis面试

    Spring: https://www.cnblogs.com/wang-meng/p/5701982.html https://www.cnblogs.com/liangyihui/p/591777 ...

  4. RocketMQ3.2.2生产者发送消息自动创建Topic队列数无法超过4个

    问题现象 RocketMQ3.2.2版本,测试时尝试发送消息时自动创建Topic,设置了队列数量为8: producer.setDefaultTopicQueueNums(8); 同时设置broker ...

  5. How to Install Apache Tomcat 8.5 on CentOS 7.3

    How to Install Apache Tomcat 8.5 on CentOS 7.3 From: https://www.howtoforge.com/tutorial/how-to-inst ...

  6. Get and Set Column/Row Names for Data Frames

    row.names(x)row.names(x) <- value rownames(x, do.NULL = TRUE, prefix = "row") rownames( ...

  7. .Net Core 本地化&全球化 实践

    介绍: 所有有关本地化的数据获取,都是从统一的一个资源文件中获取 1.创建虚拟类.资源文件,用于作为本地化数据的获取源 2.Configure localization:支持view.data ann ...

  8. Linux 下上手 STC89C52RC

    第一次接触单片机,自然选择了简单的51单片机.然而我的操作系统是 Linux .在 Windows 下上手51似乎很容易.但是 Linux 上搭建 51 开发环境不是很顺. 那么谈谈 Linux 我如 ...

  9. WijmoJS 使用Web Workers技术,让前端 PDF 导出效率更高效

    概述 Web Workers是一种Web标准技术,允许在后台线程中执行脚本处理. WijmoJS 的2018v3版本引入了Web Workers技术,以便在生成PDF时提高应用程序的运行速度. 一般来 ...

  10. 3、使用keepalived高可用LVS实例演示

    回顾: keepalived: vrrp协议的实现: 虚拟路由器: MASTER,BACKUP VI:Virtual Instance keepalived.conf GLOBAL VRRP LVS ...