A. java关于存取数据库后做日志记录问题,不是用log4j
简单的日志管理刚刚做过一个,思路就是建一个日志表,用hibernate和类映射专,在service层对该类封装几属个增删改查的方法,然后在需要记日志的地方调用相应的方法,我这个项目中没用到spring。建议可以考虑用spring的面向切面实现。
B. java中如何使用log4j将日志信息写入数据库中(转)
�0�2�0�2�0�2�0�2�0�2�0�2 首先将log4j的jar包和Logging的jar包导入到你的工程中,然后在工程src目录创建一个属性文件:log4j.properties,也可以放在某个包中,但是获取这个属性文件的时候就需要制定路径。
1.创建日志数据表:
view plainprint?CREATE�0�2TABLE�0�2log�0�2(�0�2�0�2�0�2�0�2[Id]�0�2[int]�0�2IDENTITY�0�2(1,�0�21)�0�2primary�0�2key�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Date]�0�2[datetime]�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Thread]�0�2[varchar]�0�2(50)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Level]�0�2[varchar]�0�2(20)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Class]�0�2[varchar]�0�2(200)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Message]�0�2[varchar]�0�2(2000)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2�0�2)�0�2�0�2GO�0�2�0�22.写log4j.properties文件,这里我的数据库举动是用的JTDS:
引用# level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
# Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
log4j.rootLogger=ERROR,DATABASE
log4j.addivity.org.apache=true
# 用于数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:jtds:sqlserver://localhost:1433;DatabaseName=databasename
log4j.appender.DATABASE.driver=net.sourceforge.jtds.jdbc.Driver
log4j.appender.DATABASE.user=username
log4j.appender.DATABASE.password=password
# 本处设置为"WARN"以上级别在数据库存储(默认情况使用rootLogger中的设置)
log4j.appender.DATABASE.Threshold=DEBUG
log4j.appender.DATABASE.sql=INSERT INTO log(optime,thread,infolevel,class,message) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
# 写入数据库中的表LOG4J的Message字段中,
# 内容%d(日期)%c: 日志信息所在地(类名)%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n3.在程序中需要将日志信息写入数据库的地方写入如下代码:
view plainprint?
C. 怎么用就java 做日志分析啊
日志分2种,
一种是存DB的,在db里存各种操作记录,访问记录等等,是存在许多表里的记录。
另一种是存文件的,记录的是服务器输出的log信息。
看你有统计数据的需求应该去分析DB里的日志表,而不是去分析日志文件。你把需求理解错了
D. 求助,java中怎么编写操作日志,并将每一步操作输入到数据库中
这是把日志打印到文件,操作到数据库里还需要你自己具体弄
1.将log4j-1.2.14.jar加入你的项目中;
2.在src/下创建log4j.properties|log4j.xml文件;
3.在web.xml中配置log4j的信息,如下:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
4.在项目webroot下创建你想要保存日志文件的文件夹及文件,如webroot/logs/web_app.log;
具体log4j.properties文件,给你一个示例吧,如下:
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.stdout.layout.ConversionPattern=- %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${webapp.root}/logs/webapp.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.logger.com.opensymphony.xwork2=ERROR
# Control logging for other open source packages
log4j.logger.org.springframework=ERROR
log4j.logger.org.quartz=ERROR
log4j.logger.net.sf.ehcache=ERROR
log4j.logger.net.sf.navigator=ERROR
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=ERROR
# Struts OgnlUtil issues unimportant warnings
log4j.logger.com.opensymphony.xwork2.util.OgnlUtil=error
log4j.logger.com.opensymphony.xwork2.ognl.OgnlValueStack=error
具体写法可根据自己的项目进行配置。
E. java的日志输出到哪里了
你在哪里执行的你的java程序呢 如果是在dos窗口下执行的 就直接会输出到dos窗口 如果是在eclipse或者jb下运行的 那日志就会在你的控制台窗口“Console”中
F. 如何打印java 日志
可以使用log4j。使用方法如下供参考:
导入jar包
配置log4j.properties文件
创建工具类(接口内)
publicinterfaceLoggerUtil{
//得到Logger,用于打印容日志
Loggerlogger=Logger.getLogger(LoggerUtil.class);
}
4、使用(核心代码介绍)
@RequestMapping("/delete.do")
publicStringdelete(Studentsstudents){
try{
stuService.delete(students);
}catch(Exceptione){
//使用日志
LoggerUtil.logger.error(e.getMessage());
}
return"redirect:selectAll.do";
}
G. java如何做系统操作日志
手头没有代码,用文字书写比较麻烦,说说思路吧:
1):操作日志与每一个人的系统权限密切相关,在前期定义权限的时候,必须区分好每一个用户级别的权限(一级菜单与菜单下具体功能),需要用多张表进行权限标识,并且建立各个表之间的关联关系(具体设置此处略)。
2):当用户点击系统内每一个功能(每一个功能按钮)的时候,一方面实现按钮功能(新建按钮实现新建功能),另外一方面将此处的功能名称、模块名称、用户名、时间等信息一并存储到用户操作表里面。
3):在用户操作查询页面输入相应的条件,在用户操作表内查询即可。