Log4j 输出的日志中时间比系统时间少了8小时的解决方法,log4j日志文件重复输出
1. 第一个问题:时间少了8小时
Log4j 输出的日志中,时间比系统时间少了8小时,但是 eclipse 控制台输出的日志的时间却是对的。
log4j配置如下:
#all logger output level is 'ERROR' and output position is stdout
#so only write our project's DEBUG log and ERROR log of the others
log4j.rootLogger=ERROR, stdout, R
#log4j.appender is set output postion
#log4j.logger is set some package(some package your want output logger specially)=[output level],[...output position] #log4j.logger.org.springframework=OFF
#log4j.logger.org.apache.commons=OFF
#log4j.logger.org.apache.struts=OFF
#log4j.logger.org.hibernate=OFF
#log4j.logger.org.logicalcobwebs=OFF #only write our project's log(DEBUG)
log4j.logger.com.diantu=DEBUG log4j.logger.org.logicalcobwebs.proxool=DEBUG, proxool #in the console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#config stdout position output contain INFO level and up
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %l:%t - %m %n #in the daily files
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.Threshold=DEBUG
log4j.appender.R.File=${root.path}/log/EMR.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n log4j.logger.com.statestr=DEBUG log4j.appender.proxool=org.apache.log4j.DailyRollingFileAppender
log4j.appender.proxool.Threshold=DEBUG
log4j.appender.proxool.File=${root.path}/log/proxool.log
log4j.appender.proxool.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.proxool.layout=org.apache.log4j.PatternLayout
log4j.appender.proxool.layout.ConversionPattern=%d [%-5p] %l:%t - %m %n
有一篇博客讲了这个问题:http://peng4602.iteye.com/blog/1844356
但是按照他的方法,没有作用。
原因分析,eclipse 输出的时间是对的,那么JVM的时区设置应该是对的。系统的时间是对的,那么系统时区也应该是没有问题的。
那么问题可能是 tomcat 获取时区失败,所以使用了默认的时区,所以可北京时间相差了 8 个小时,解决方法,
在 C:\apache-tomcat-8.0.33\bin 下找到 catalina.bat 打开编辑:
在
set _EXECJAVA=%_RUNJAVA%
set MAINCLASS=org.apache.catalina.startup.Bootstrap
set ACTION=start
set SECURITY_POLICY_FILE=
set DEBUG_OPTS=
set JPDA=
后面加入 :
set -Duser.timezone=GMT+08
保存,重启tomcat即可解决。
上面博客地址中的解决方法:set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx800m -Duser.timezone=GMT+08
在 tomcat-8.0.33 中没有起作用。
2. 第二个问题:log4j日志文件重复输出
2016-04-22 01:51:28,427 [DEBUG] org.logicalcobwebs.proxool.HouseKeeper.sweep(HouseKeeper.java:81):HouseKeeper - 000036 (00/05/01) - Testing connection 2: True
2016-04-22 01:51:28,427 [DEBUG] org.logicalcobwebs.proxool.HouseKeeper.sweep(HouseKeeper.java:81):HouseKeeper - 000036 (00/05/01) - Testing connection 2: True
问题是 log4j 的配置文件 中两次 appender 到了一个文件中。
第一次:
log4j.rootLogger=ERROR, stdout, R, proxool
其中包括了 proxool
第二次:
log4j.logger.org.logicalcobwebs.proxool=DEBUG, proxool
所以当然会重复输出两次了。
去掉 log4j.rootLogger 中的 proxool 就行了。
Log4j 输出的日志中时间比系统时间少了8小时的解决方法,log4j日志文件重复输出的更多相关文章
- IIS7日志中时间与系统时间不一致的原因
最近在分析web日志,发现IIS7日志中时间与系统时间不一致,即本该上班时间才产生的产并发访问日志,全部发生在凌晨至上班前. 本以为是系统时间设置错误,检查后一切正常.后查询资料,原来是这个原因: 日 ...
- JAVA中获取当前系统时间及格式转换
JAVA中获取当前系统时间 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; publi ...
- LoadRunner中获取当前系统时间方法
LoadRunner中获取当前系统时间方法 发表于:2017-6-02 11:41 作者:人生_0809 来源:51Testing软件测试网采编 字体:大 中 小 | 上一篇 | 下一篇 | 打 ...
- ubuntu下的时间设定(硬件时间,系统时间,本地时间)
问题的来由是在这里: 在cron里设定任务是在凌晨6点执行,检查日志时发现时间总是不对,是在22点左右的时间执行的.研究发现,任务是在本地时间的6点执行了,但不知为什么syslog中的时间都是为utc ...
- linux 系统文件类型、系统安装时间、系统启动时间、系统运行时间、设置及显示时间、系统时间和硬件时间
系统文件类型: 1) $mout 2) df -l:仅列出本地文件系统:-h (--human-readable):-T:文件系统类型 $df -lhf 3) file -s (--special-f ...
- Linux的硬件时间、校正Linux系统时间及系统时间调用流程
第一部分: 一)概述: 事实上在Linux中有两个时钟系统,分别是系统时间和硬件时间 UTC是协调世界时(Universal Time Coordinated)英文缩写,它比北京时间早8个小时. ...
- tomcat时间与系统时间不一致问题
我在部署应用到centos系统上的tomcat服务器中运行,发现操作系统的时间和tomcat中的访问日志的时间与系统时间不一致,但是查看当前操作系统的时区也是CST时区(中国标准时区). 查看系统的时 ...
- java new Date()得到的时间和系统时间不一样
造成这种问题的原因是:操作系统时区跟JVM的时区不一致. [root@paas244 ~]# timedatectl Local time: Thu 2016-12-29 15:35:44 CST U ...
- BIOS时间与系统时间(windows/linux时间同步问题)
写作动机 双系统是不少人喜欢的方式,但安装双系统之后一般会出现两个系统时间不一样的问题,刚开始用双系统的时候也没怎么在意,就是装上后在网上找找相关解决方法,复制粘贴代码完事儿.但是次数多了就有点烦了, ...
随机推荐
- 口袋微博android源码服务端和客户端
刚刚在源码天堂看到了一个不错的安卓SNS应用源码,而且也比较完整的,它基本具备了新浪微博的所有功能,包括查看最新的微博.微博评论.好友资料.回复评论以及发私信等,除此之外,还提供了许多独有的特色功能: ...
- Typecho 新浪登陆插件 Sinauth
花了点时间弄了一个插件. 代码地址:https://github.com/web3d/plugins/tree/master/Sinauth Typecho的扩展机制还是比较完善的,可以自行增加Act ...
- MongoVUE(MongoDB图像管理工具)
介绍一款很不错的开源的MongoDB图形化管理工具:MongoVUE 下载地址:MongoVUE 1.6.9 破解版
- Hover States - 有趣的用户界面及交互设计
Hover States 一组新潮的和有趣的用户界面和交互设计的集合.Hover States 的目标是要成为设计师和开发人员灵感来源,向人们展示目前人们正在做的各种网站中令人惊奇的效果.他们认为交互 ...
- 【经验之谈】前端面试知识点总结(CSS相关)——附答案
目录 二.CSS部分 1.解释一下CSS的盒子模型? 2.请你说说CSS选择器的类型有哪些,并举几个例子说明其用法? 3.请你说说CSS有什么特殊性?(优先级.计算特殊值) 4.要动态改变层中内容可以 ...
- JavaScript 经典实例收集整理
跨浏览器添加事件 //跨浏览器添加事件 function addEvent(obj,type,fn){ if(obj.addEventListener){ obj.addEventListener(t ...
- 浅析字符串操作方法slice、substr、substring及其IE兼容性
在截取字符串时常常会用到substr().substring().slice()方法,有时混淆之间的用法,故总结下. slice() 定义:接受一个或者两个参数,第一个参数指定子字符串的开始位置. ...
- ArcGIS中国工具2.2正式发布
ArcGIS中国工具2.2新功能 1. 2.0全面支持ArcGIS10.3 2. 全面修改成插件,原来部分是独立运行的EXE 3. 可以制作倾斜的矩形图框 4. 修改宗地(地块)左上角为第一个点,填写 ...
- SharePoint 2013 Content Deployment 报错 These columns don't currently have unique values
错误描述: These columns don't currently have unique values. Content deployment job 'job name' failed.The ...
- Sql Server 2008 数据库附加失败提示9004错误解决办法
附加数据库 对于 服务器“WSS_Content”失败. (Microsoft.SqlServer.Smo)执行 Transact-SQL 语句或批处理时发生了异常. (Microsoft.SqlS ...