log4j是个不错的记录日志的方法,请高手提供以下它的配置和使用说明,谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j是个不错的记录日志的方法,请高手提供以下它的配置和使用说明,谢谢!相关的知识,希望对你有一定的参考价值。

第一步
加入log4j-1.2.8.jar到lib下。
第二步
在CLASSPATH下建立log4j.properties。内容如下: 1 log4j.rootCategory=INFO, stdout , R 2 3 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 4 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 5 log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n 6 7 log4j.appender.R=org.apache.log4j.DailyRollingFileAppender 8 log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log 9 log4j.appender.R.layout=org.apache.log4j.PatternLayout 10 log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n 11 12 log4j.logger.com.neusoft=DEBUG 13 log4j.logger.com.opensymphony.oscache=ERROR 14 log4j.logger.net.sf.navigator=ERROR 15 log4j.logger.org.apache.commons=ERROR 16 log4j.logger.org.apache.struts=WARN 17 log4j.logger.org.displaytag=ERROR 18 log4j.logger.org.springframework=DEBUG 19 log4j.logger.com.ibatis.db=WARN 20 log4j.logger.org.apache.velocity=FATAL 21 22 log4j.logger.com.canoo.webtest=WARN 23 24 log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN 25 log4j.logger.org.hibernate=DEBUG 26 log4j.logger.org.logicalcobwebs=WARN
第三步
相应的修改其中属性,修改之前就必须知道这些都是干什么的,在第二部分讲解。
第四步
在要输出日志的类中加入相关语句: 定义属性:protected final Log log = LogFactory.getLog(getClass()); 在相应的方法中: if (log.isDebugEnabled()) log.debug(“System …..”);
参考技术A 给你一个我们的项目文件自己看吧。。
希望老板别发现。。。
# Global logging configuration

log4j.rootLogger=INFO,file

# SqlMap logging configuration...
log4j.logger.com.ibatis=INFO
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=INFO
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=INFO
log4j.logger.java.sql.Connection=INFO
log4j.logger.java.sql.Statement=INFO
log4j.logger.java.sql.PreparedStatement=INFO
log4j.logger.java.sql.ResultSet=INFO

# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.stdout.Target=System.out
##########################
#log4j.appender.stdout.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
#log4j.appender.stdout.layout.ConversionPattern=[start]%d[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n

# File output by days...
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.Threshold=ERROR
log4j.appender.file.file=$/logs/psp_error.log
log4j.appender.file.MaxFileSize=2000KB
log4j.appender.file.DatePattern="."yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n

# html output...
log4j.appender.sql_html=org.apache.log4j.RollingFileAppender
log4j.appender.sql_html.Threshold=DEBUG
log4j.appender.sql_html.File=$/logs/psp_sql.html
log4j.appender.sql_html.MaxFileSize=5000KB
log4j.appender.sql_html.MaxBackupIndex=1
log4j.appender.sql_html.layout=org.apache.log4j.HTMLLayout
参考技术B 我对楼上兄台的配置解释一下

# 定义一个输出类型,将日志输入到控制台上
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.stdout.Target=System.out

# 所有的Log4j都使用以下方式输出
log4j.rootLogger=INFO,file

# 定义一个包的方式输出
log4j.logger.com.ibatis=INFO

WinForm检测用户是不是已登陆的方法--简单问题--请高手回答!

我的程序实现期望是这样的:

启动应用程序后

传入用户名

检测该用户是否已经登陆

应用情景详细说明:

用户A启动应用程序x,登陆,使用应用程序x;

用户B启动应用程序x,登陆,使用应用程序x;

用户A再次启动应用程序x,登陆,检测到A已经登陆,弹出框通知.退出;

我的不成立的构想:

用户启动应用程序登陆成功后,在一个指定路径指定文件中写入登陆记录(包含用户名\登陆状态:已登陆);用户退出应用程序时,更改登陆记录(包含用户名\登陆状态:未登陆);

当此用户再次启动此应用程序的时候,读取指定路径指定文件中的登陆记录,如果用户的登陆状态是已登陆,弹框通知.

这个方法的缺陷是如果遇到停电等非正常退出,用户登陆记录中的登陆状态还是已登陆,这时如果用户再次登陆就会被弹框通知.

还有使用单身模式也不太适合.

请教各位高手指导一个实现方法,可以不必写代码,只需实现思路即可.

谢谢!

写到注册表里面吧,保存上一次操作启动的时间,和当前操作系统用户上一次登录的时间和操作系统用户名;保存应用程序的登录凭证.

应用程序启动时,
判断保存的数据是否本次操作系统启动后的,
判断操作系统用户是否本次登录的(防止操作用户注销后);
然后判断应用程序的登录凭证.

如果是操作系统是多用户的话,为每个操作系统用户保存应用程序的凭证会麻烦一点;比如我的XP可以多用户登录,同时登录了user1和user2,那么操作系统user1的应用程序凭证能否在user2的环境下生效?
参考技术A winform应该好解决吧 直接给user数据库给个状态 几分钟刷一次 如果没情况就让他标识假 停电的问题倒不大 怕的是非正常退出 停电多久才一次是不是 像web程序根本不能控制关闭IE时候的操作 而winform则可以再退出时释放资源 也能做你的控制同一用户登录登录

实在不行就只能做后来的用户把以前的踢下线的做法了
放在app...里面

以上是关于log4j是个不错的记录日志的方法,请高手提供以下它的配置和使用说明,谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记开源日志记录工具log4j使用方法

log4j日志

(转)log4j使用介绍

优雅记录log4j日志

配置Linux日志文件

我们可以在运行时更改log4j的日志记录级别吗?