log4j设置,以及中文乱码,通过过滤器输出指定级别的日志,或者指定级别范围的日志
配置文件为默认名字log4j.properties时,放在某个模块下的resources下即可,即使有多个模块的情况下,任意一个模块的resources下有这个默认名字的文件log4j.properties即可。否则需要配置指定。
比如放在WEB-INF目录下:在web.xml里增加配置,注意该 Log4jConfigListener需要放在spring的Listener之前。这中设置方式可以不用使用默认名字
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/log4j-test.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>60000</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
log存入文件时,文件路径必须是绝对路径。
### 设置###
#log4j.rootLogger = debug,stdout,D,E
log4j.rootLogger = FILE,D,E ### 输出信息到控制抬 ###
#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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n ### 输出DEBUG 级别以上的日志到=logs/log.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = /home/admin/appData/dqc/log/debug.log
log4j.appender.D.Append = true
# 解决中文乱码
log4j.appender.D.Encoding=UTF-8
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 输出ERROR 级别以上的日志到=logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = /home/admin/appData/dqc/logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
在实际的项目开发中,很可能遇到所引用的包用Log4j来记录日志,比如Hibernate。那么在这里你可以很容易的控制这个包如何记录日志。比如在上面的配置文件中加一行:
log4j.logger.org.hibernate=fatal
那么所有org.hibernate包下面的类就只会显示很少的信息,因为fatal的级别最高啊。
输出指定包的方法直接log4j.logger.包名。你可以通过log4j.rootLogger=OFF来屏蔽其他输出。以下配置屏蔽SSH框架的日志输出:
- log4j.logger.org.springframework=OFF
- log4j.logger.org.apache.struts2=OFF
- log4j.logger.com.opensymphony.xwork2=OFF
- log4j.logger.com.ibatis=OFF
- log4j.logger.org.hibernate=OFF
通过过滤器输出指定级别的日志,或者指定级别范围的日志:http://wendal.net/219.html
#配置Filter
#定义id为F1的拦截器,只接受INFO到ERROR
log4j.appender.File2.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.File2.filter.F1.LevelMin=INFO
log4j.appender.File2.filter.F1.LevelMax=ERROR
#定义id为F2的拦截器,不接受WARN
log4j.appender.File2.filter.F2=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.File2.filter.F2.levelToMatch=WARN
log4j.appender.File2.filter.F2.acceptOnMatch=false
#可以继续定义你需要的拦截器F3/F4.....
参考:
https://my.oschina.net/dodojava/blog/29881
https://blog.csdn.net/tanglinfeng/article/details/3874314
http://wiki.jikexueyuan.com/project/log4j/configuration.html
https://www.jianshu.com/p/c6c543e4975e
http://wendal.net/219.html
log4j设置,以及中文乱码,通过过滤器输出指定级别的日志,或者指定级别范围的日志的更多相关文章
- SSH项目web.xml文件的常用配置【struts2的过滤器、spring监听器、解决Hibernate延迟加载问题的过滤器、解决中文乱码的过滤器】
配置web.xml(struts2的过滤器.spring监听器.解决Hibernate延迟加载问题的过滤器.解决中文乱码的过滤器) <!-- 解决中文乱码问题 --> <filter ...
- IDEA 设置(中文乱码、svn、热部署、ideolog 、Jrebel )
目录 console中文乱码 idea 多个工程分别设置svn idea svn忽略版本控制 idea svn客户端 ideolog 插件配置 idea 热部署 Jrebel 插件激活和使用 # I ...
- Struts2中文乱码问题 过滤器源码分析
整理自网上: 前几天在论坛上看到一篇帖子,是关于Struts2.0中文乱码的,楼主采用的是spring的字符编码过滤器 (CharacterEncodingFilter)统一编码为GBK,前台提交表单 ...
- 学习笔记_第一个strut程序_之中文乱码,过滤器解决方案及过程总结
1. 第一次碰到加过滤器的过程,就是在学习struct1的时候,中文乱码 几个需要注意的关键字 2.什么叫package 所谓package就是打包的意思,就是说以下程序都是处于这个包内,所以一开始 ...
- serv-U 7以上版本pasv端口的设置及中文乱码问题
利用serv-u架设ftp服务器已经是再常见不过了事情了,近日一朋友为图新鲜,弄了个7.4版本的新玩意儿,结果架设上去后,仅开了21端口,用LeapFtp在port模式下连接没问题,但是另一常见的cu ...
- 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_3 配置解决中文乱码的过滤器
输入中文 中文后台接收到 全部乱码 springMvc提供了过滤器 配置过滤器 characterEncodingFilter是首字母小写当做起的名称.当然这里也可以任意起名字.为了对应所以修改类名首 ...
- springmvc:配置解决中文乱码的过滤器
在web.xml中配置以下内容: <!--配置解决中文乱码过滤器--> <filter> <filter-name>characterEncodingFilter& ...
- PL/SQL Developer编码格式设置及中文乱码解决方案
1.PL/SQL Developer中文字段显示乱码 原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的. 2.PL/SQL Developer编码格式设置详细的解决 ...
- 永久设置mysql中文乱码问题
1.进入mysql的命令窗口 输入 show variables like '%char%'; 查看当前编码是否为UTF-8 2.在上述命令的结果中我们可以看到Wamp的安装目录,找到这一目录,在里面 ...
随机推荐
- mybatis 联结查询
一.查询 员工(tbl_employee)时,关联 查询出 员工对于的部门信息 (tab1_dept),一对一查询,或者多对一查询 适用 emp bean里面 包含 部门bean dept属性对象 1 ...
- powershell常用操作
创建文件 New-Item -path $file_path -itemtype file 创建目录 New-Item -path $dir_path -type directory 删除目录 Rem ...
- hive的窗口函数1
Hive中提供了越来越多的分析函数,用于完成负责的统计分析.抽时间将所有的分析窗口函数理一遍,将陆续发布.今天先看几个基础的,SUM.AVG.MIN.MAX.用于实现分组内所有和连续累积的统计. 1. ...
- 利用WINDOWS活动目录提供LDAP的方案
Windows Server 2008 R2 活动目录服务安装 http://blog.sina.com.cn/s/blog_622de9390100kgv3.html WINDOWS 2008 域控 ...
- Bootstrap Div 居中的方法
有两个DIV,DIV2被包含在DIV1中.格式如下: <div id="div1"> <div id="div2"> & ...
- Python基础系列----序列(列表、元组、字符串)
1.定义 1 ...
- SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )
SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需.SQL数据库有很多,MySQL是一种,本文基本都是SQ ...
- Centos7安装和配置Jira7.3.6
(1)安装jdk 1.下载jdk 链接:https://pan.baidu.com/s/1umdV-Cmm1wi1RP5clIJXmg 密码:zevc 2.安装jdk rpm -ivh jdk-8u1 ...
- .net反射详解 原文://http://blog.csdn.net/wenyan07/article/details/27882363
概述反射 通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象. 反射机制允许程序在执行过程中动态地添加各种功能. 运行时类型标识 运行时类型标识(RTTI),可以在程 ...
- UnicodeEncodeError: 'gbk' codec can't encode character ...
使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character ' ...