HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    日志適合什么數(shù)據(jù)庫(日志適合什么數(shù)據(jù)庫存儲)

    發(fā)布時間:2023-04-14 00:40:27     稿源: 創(chuàng)意嶺    閱讀: 136        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于日志適合什么數(shù)據(jù)庫的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    日志適合什么數(shù)據(jù)庫(日志適合什么數(shù)據(jù)庫存儲)

    一、使用log4j把日志信息保存到數(shù)據(jù)庫

    log4j 包里面有一個 SQL 的 appender ,但我知道以前的版本中有bug,因為它生成 SQL 時用的是 createStatement 拼接字符串而不是 PreparedStatement ,因此當(dāng)消息內(nèi)容中有單引號或特殊符號時 SQL 都有語法錯誤執(zhí)行不成功。

    你需要自己擴(kuò)展一下它提供自己的 SQLAppender 來做這件事。在網(wǎng)上搜索一個像 decompiler 這樣的 Java 反編譯器或從 Apache 網(wǎng)站去下載 log4j 源碼來看一下 SQL appender 是怎么樣的,我們改寫它把這個 bug 解決了就可以用了。

    如果你打算用 ODBC 數(shù)據(jù)源而不是 JDBC 來做,你需要確保你的 JRE 是 Oracle / Sun 提供的,因為像 IBM 的 JRE 就沒有自帶 ODBC 驅(qū)動程序,或者你自己去手工下載第三方的 ODBC 驅(qū)動程序。

    從你的錯誤消息說 數(shù)據(jù)源找不到,對比下面這個圖片,你沒有設(shè)置它的 driver 參數(shù),左邊所有以 set 開頭的方法就是表示你在 log4j.properties 文件中可以給它設(shè)置的參數(shù),比如,setPassword 表示這個 JDBC Appender 有一個屬性  password。

    log4j.appender.mySQLAppender.password = 密碼

    log4j.appender.mySQLAppender.user = 用戶名

    。。。 其它 set 方法對應(yīng)的屬性列舉在這里。。。

    依此類推。

    日志適合什么數(shù)據(jù)庫(日志適合什么數(shù)據(jù)庫存儲)

    我們需要糾正的 bug 在這里面,你需要提供自己的類繼承原來的 JDBCAppender 把這個 statement 改成 PreparedStatement 來訪問數(shù)據(jù)庫,就是需要 stmt.setString(1, myMsg); 這種,而不是直接拼接字符串的。

    日志適合什么數(shù)據(jù)庫(日志適合什么數(shù)據(jù)庫存儲)

    看了它的 JDBCAppender.execute 方法就知道這里有一個 bug:

    日志適合什么數(shù)據(jù)庫(日志適合什么數(shù)據(jù)庫存儲)

    二、數(shù)據(jù)庫什么時候需要多個數(shù)據(jù)文件和日志文件?多個文件的優(yōu)勢表現(xiàn)在哪里?

    1) 多硬盤時,每個數(shù)據(jù)庫文件和日志分別在不同的硬盤上,可以極大的提高數(shù)據(jù)讀寫性能,同時提高數(shù)據(jù)存儲的安全性;

    2)單硬盤時,日志是數(shù)據(jù)庫備份和恢復(fù)必不可缺的。

    3) 如果數(shù)據(jù)庫的記錄多,可以把索引和數(shù)據(jù)放在不同的硬盤上,可大幅提高檢索效率。

    三、數(shù)據(jù)庫有哪些日志文件 changelog

    SQL Server使用各數(shù)據(jù)庫的事務(wù)日志來恢復(fù)事務(wù)。事務(wù)日志是數(shù)據(jù)庫中已發(fā)生的所有修改和執(zhí)行每次修改的事務(wù)的一連串記錄。事務(wù)日志記錄每個事務(wù)的開始。它記錄了在每個事務(wù)期間,對數(shù)據(jù)的更改及撤消所做更改(以后如有必要)所需的足夠信息。主要是恢復(fù)時用到數(shù)據(jù),所以對日志文件不能輕易刪除!

    四、java關(guān)于存取數(shù)據(jù)庫后做日志記錄問題,不是用log4j

    提供建議如下:

    1.每個需要被日志管理的數(shù)據(jù)庫映射類都加一個功能名稱屬性并賦值。

    2.封裝hibernate中提供的save方法(增、改)和delete方法(刪)。

    在save方法中先判斷傳過來的對象的id,有id為更改,無id為新增。然后向日志管理類添加對象。操作為新增或更改,功能為對象.get功能名稱,其他如操作人員及時間等應(yīng)該有公共類可以取得.

    刪除方法類似;

    大概思路應(yīng)該就是這樣.

    以上就是關(guān)于日志適合什么數(shù)據(jù)庫相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    redis慢查詢(redis慢查詢?nèi)罩荆?/a>

    vi手冊設(shè)計過程(vi手冊設(shè)計過程日志備注)

    人工智能對大學(xué)生就業(yè)的影響(人工智能對大學(xué)生就業(yè)的影響實踐日志)

    快手1000能提現(xiàn)多少(快手1000能提現(xiàn)多少金幣)

    上海好玩的地方排行榜2016(上海好玩的地方排行榜2016)