當前位置:首頁 » 數據倉庫 » java日誌寫入資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java日誌寫入資料庫

發布時間: 2023-05-12 19:47:17

① java怎麼把資料庫查出來的數據怎麼寫進日誌文件log中

1、登錄Oracle伺服器,切換到oracle用戶下

#su - oracle

② 我想java項目中的數據訪問層加一個日誌管理,把每一次的資料庫操作記錄到資料庫中的表中,有解決方案嗎

既然用的是Spring,汪升那麼就給你的沒磨持久層做一個切困察老面,裡面做日誌處理,語法和配置參考《spring in action》一書,有詳細講解

③ java中如何使用log4j將日誌信息寫入資料庫中(轉)

你的意思是每產生一條日誌就寫入資料庫?

首先你培歷這知脊個思路有問題,日誌別保存進資料庫,因為這會增加非常多的插入操作,嚴重影響性能。
如果你非要保存進資料庫,我給你提供一種解決方案:你可以利用Timer類計時,在每天的某個時段將log4j所產生的日誌文件存入資料庫。這樣其實也挺多餘,如果你希望做的是在客戶端或者瀏覽器(我不知道你做的是什麼項目)查看日誌文件,可以通過伺服器去讀取本地的日誌文件(我沒記錯的話,log4j日誌文件命名都是按照固定名字+日期來命名),然後處理一下配猛搜再顯示到客戶端或者瀏覽器。

④ 求助,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是進行日誌管理的,也就是通過log4j的類庫,將一個信息輸出到文件中。
將不能將直接將你所說的錯誤信息記錄到資料庫中。

而且現在,我也不知道你所說的錯誤信息包不包含邏輯誤。

你所說用的try catch這是一些有可能是不可預知的錯誤,什麼 的。
比如你取一個表中的數據,沒有取得數據,你要報一個錯誤消息,這樣的邏輯行為。是不是也要記錄?我們通常是會記錄的。

我們採用的辦法是,重新封裝一下log4j.

在出log的error級別信息時,資料庫記錄。

如果你不太會用log4j不要太糾結,你可以理解為寫一個類。

在所有你認為要插入資料庫的地方調用這個方法。

⑥ java關於存取資料庫後做日誌記錄問題,不是用log4j

提供建議如下:
1.每個需要被日誌管理的資料庫映射類都加一個功能名稱屬性並賦值。
2.封裝hibernate中提供的save方法(增、改)和delete方法(刪)。
在save方法中先判斷傳過來的對象的id,有id為更改,無id為新增。然後向日誌管理類添加對象。操作為新增或更改,功能為對象.get功能名稱,其他如操作人員及時間等應該有公共類可以取得.
刪除方法類似;
大概思路應該就是這樣.

⑦ 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支持將日誌信息插入資料庫,配置一下就可以,不過你的是只插入特定的一部分,應該也能通過配置過濾(寫入文件的時候是可以通過配置將特定的日誌寫入一個文件的),可以參考一下這個http://blog.csdn.net/ziruobing/article/details/3919501

⑨ java怎麼將系統日誌存到資料庫

糾正一個問題 退出系統不是退出資料庫 說一下 你這個是 java代碼掘返方面的問題 和資料庫無關 你這樣提問 很容易讓我聯想到 如果提取數鉛頌據庫的log內容 接下來說一下怎麼實現 建立程序操作記錄數據表 表中內容可以包括 用戶 操作內容 執行時間 等 然後就是 找到你所有認為應該添加 日誌的位置 然後添加一段 向操作記錄表槐散鄭寫入記錄的代碼 如果怕 程序卡 添加日誌可以用一個新的線程來做

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