當前位置:首頁 » 操作系統 » 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、封裝一個類,在每次有操作的將這些操作的記錄寫到資料庫中,然後需要的時候讀取出來

熱點內容
linux修改保存文件 發布:2024-05-19 17:30:38 瀏覽:665
網路有你腳本 發布:2024-05-19 17:29:55 瀏覽:769
黎明我的世界伺服器 發布:2024-05-19 17:17:34 瀏覽:538
雷神g50如何設置安卓原生模式 發布:2024-05-19 16:50:04 瀏覽:120
c語言小數四捨五入 發布:2024-05-19 16:23:28 瀏覽:525
資料庫被注入攻擊 發布:2024-05-19 16:21:31 瀏覽:835
微信忘記密碼從哪裡看 發布:2024-05-19 16:06:37 瀏覽:33
寶馬x4貸款買哪個配置好 發布:2024-05-19 15:56:03 瀏覽:23
微控pid演算法 發布:2024-05-19 15:46:31 瀏覽:136
雲盤視頻解壓密碼 發布:2024-05-19 15:23:17 瀏覽:848