当前位置:首页 » 操作系统 » java日志数据库

java日志数据库

发布时间: 2023-01-25 03:19:15

java中如何使用log4j将日志信息写入数据库中(转)

你的意思是每产生一条日志就写入数据库?

首先你这个思路有问题,日志别保存进数据库,因为这会增加非常多的插入操作,严重影响性能。
如果你非要保存进数据库,我给你提供一种解决方案:你可以利用Timer类计时,在每天的某个时段将log4j所产生的日志文件存入数据库。这样其实也挺多余,如果你希望做的是在客户端或者浏览器(我不知道你做的是什么项目)查看日志文件,可以通过服务器去读取本地的日志文件(我没记错的话,log4j日志文件命名都是按照固定名字+日期来命名),然后处理一下再显示到客户端或者浏览器。

㈡ java怎么将系统日志存到数据库

log4j支持将日志信息插入数据库,配置一下就可以,不过你的是只插入特定的一部分,应该也能通过配置过滤(写入文件的时候是可以通过配置将特定的日志写入一个文件的),可以参考一下这个http://blog.csdn.net/ziruobing/article/details/3919501

㈢ 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?

㈣ java关于存取数据库后做日志记录问题,不是用log4j

提供建议如下:
1.每个需要被日志管理的数据库映射类都加一个功能名称属性并赋值。
2.封装hibernate中提供的save方法(增、改)和delete方法(删)。
在save方法中先判断传过来的对象的id,有id为更改,无id为新增。然后向日志管理类添加对象。操作为新增或更改,功能为对象.get功能名称,其他如操作人员及时间等应该有公共类可以取得.
删除方法类似;
大概思路应该就是这样.

㈤ java怎么把数据库查出来的数据怎么写进日志文件log中

1、登录Oracle服务器,切换到oracle用户下

#su - oracle

㈥ java怎么将系统日志存到数据库

纠正一个问题 退出系统不是退出数据库 说一下 你这个是 java代码方面的问题 和数据库无关 你这样提问 很容易让我联想到 如果提取数据库的log内容 接下来说一下怎么实现 建立程序操作记录数据表 表中内容可以包括 用户 操作内容 执行时间 等 然后就是 找到你所有认为应该添加 日志的位置 然后添加一段 向操作记录表写入记录的代码 如果怕 程序卡 添加日志可以用一个新的线程来做

㈦ java正则表达式解析Mysql数据库错误日志

System.out.println( new ReadSingleLineNumber().test2());
}

MySqlLog test2(){
String log = "2018-03-21T13:46:01.185376Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).";
String[] head = log.substring(0, log.indexOf(']') + 1).split(" ");
return new MySqlLog(head[0].trim(), Integer.parseInt(head[1].trim()), head[2].trim().substring(head[2].trim().indexOf('[') + 1, head[2].trim().indexOf(']')), log.substring(log.indexOf(']') + 2).trim());
}

class MySqlLog{
String time;
int index;
String level;
String msg;
public MySqlLog(String time, int index, String level, String msg) {
this.time = time;

㈧ 求助,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
具体写法可根据自己的项目进行配置。

㈨ java中如何使用log4j将日志信息写入数据库中(转)

1.创建日志数据表:
view plainprint?CREATE02TABLE02log02(02020202[Id]02[int]02IDENTITY02(1,021)02primary02key02NOT02NULL02,02020202[Lg_Date]02[datetime]02NOT02NULL02,02020202[Lg_Thread]02[varchar]02(50)02COLLATE02Chinese_PRC_CI_AS02NOT02NULL02,02020202[Lg_Level]02[varchar]02(20)02COLLATE02Chinese_PRC_CI_AS02NOT02NULL02,02020202[Lg_Class]02[varchar]02(200)02COLLATE02Chinese_PRC_CI_AS02NOT02NULL02,02020202[Lg_Message]02[varchar]02(2000)02COLLATE02Chinese_PRC_CI_AS02NOT02NULL0202)0202GO02022.写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?

㈩ 【java 数据库】如何取出数据库的记录日志

这些是要联接到数据库的,但是操作记录需要在程序上做处理,可以这样处理

1、建立一个操作记录表,字段大概可以为:id、操作类型、操作人、操作时间等

2、封装一个类,在每次有操作的将这些操作的记录写到数据库中,然后需要的时候读取出来

热点内容
nodejs源码安装 发布:2025-07-10 11:06:34 浏览:218
安卓手机怎么投屏到gl8 发布:2025-07-10 10:54:47 浏览:276
区县数据库 发布:2025-07-10 10:51:59 浏览:918
服务器遭到破坏我的世界 发布:2025-07-10 10:51:53 浏览:647
ftp服务器攻击 发布:2025-07-10 10:28:46 浏览:140
提高studio编译速度 发布:2025-07-10 10:28:46 浏览:415
Char在sql 发布:2025-07-10 10:19:19 浏览:783
请密码不叫什么说话 发布:2025-07-10 10:06:22 浏览:115
苹果应用怎么设置密码 发布:2025-07-10 10:04:00 浏览:838
雪国脚本 发布:2025-07-10 10:04:00 浏览:940