1. 程式人生 > >log4j 日誌檔案儲存資料庫的解決方案一(配置檔案中寫sql語句)

log4j 日誌檔案儲存資料庫的解決方案一(配置檔案中寫sql語句)

log4jmysql.properties:

log4j.rootLogger=ERROR,console,db
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n
log4j.appender.db.layout=org.apache.log4j.PatternLayout
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender log4j.appender.db.driver=com.mysql.jdbc.Driver log4j.appender.db.URL=jdbc:mysql://192.168.199.132:3306/mind?useUnicode=true&characterEncoding=UTF-8&useSSL=false log4j.appender.db.user=root log4j.appender.db.password=root log4j.appender.db.sql=
insert into t_login (c_id, c_username, c_password) VALUES ('%X{userId}', '%X{username}', '%X{password}') # log4j.appender.db.sql=insert into t_login (c_username, c_password) VALUES ('%d{yyyy-MM-dd hh:mm:ss}', '%c %p %m %n')

log4jtest1.java

package com.phoenix.javatest.log4jtest;
import com.phoenix.javatest.Log4jTest;
import org.apache.log4j.MDC; import org.apache.log4j.PropertyConfigurator; import org.apache.log4j.xml.DOMConfigurator; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import javax.xml.parsers.DocumentBuilderFactory; import java.io.InputStream; import java.util.Properties; /** * Created by Lovell on 24/10/2016. */ /* @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@@@@@@@ @@ @@@@@@@ @@ @@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@@@@@@@ @@@@ @@@ @@@@@ @@@ @@@@@@@@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@@@@@@@ @@@@ @@@@ @@@ @@@@ @@@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@@@@@@@ @@@@ @@@@@ @ @@@@@ @@@@@@@@ @@@@@@@@@ @@@@@@@@@@ @@@@ @@ @@@@@@ @@@@@@ @@ @@@ @@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */ public class Log4jtest1 { private static Logger logger = LoggerFactory.getLogger(Log4jtest1.class); private static final String LOG_CONFIG_FILE = "/log4jmysql.properties"; @Test public void test1() throws Exception { InputStream in = null; try { // 載入配置檔案 in = Log4jTest.class.getResourceAsStream(LOG_CONFIG_FILE); if (LOG_CONFIG_FILE.endsWith(".xml")) { // 載入XML格式的配置檔案 Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in); DOMConfigurator.configure(doc.getDocumentElement()); logger.error("xml logger error ==>");} else { // 載入properties格式的配置檔案 Properties props = new Properties(); props.load(in); // 屬性載入 PropertyConfigurator.configure(props); // 屬性配置 } String userId = "11"; String username = "langzixiaoyaoyou"; String password = "123456"; MDC.put("userId", userId); MDC.put("username", username); MDC.put("password", password); logger.info("存入MySQL資料庫使用者ID[{}],使用者名稱【{}】,使用者密碼【{}】" + userId, username, password); } catch (Exception e) { e.printStackTrace(); } } }

參考:http://www.iteye.com/problems/91158

http://www.cnblogs.com/yinliang/p/4173025.html

http://avaj.iteye.com/blog/246088

相關推薦

log4j 日誌檔案儲存資料庫解決方案配置檔案sql語句

log4jmysql.properties: log4j.rootLogger=ERROR,console,db log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.

揭祕淘寶286億海量圖片儲存與處理架構,海量小檔案儲存解決方案

8月27日下午,在IT168系統架構師大會儲存與系統架構分論壇上,淘寶網技術委員會主席,淘寶網核心工程師章文嵩向我們詳細介紹了淘寶網圖片處理與儲存系統的架構。章文嵩博士的演講日程包括了淘寶的整個系統架構、淘寶圖片儲存系統架構,淘寶網獨立開發的TFS叢集檔案系統,前端CDN

分享Windows伺服器網站檔案同步備份解決方案之cwRsyn進行檔案同步

本文和大家分享Windows伺服器網站檔案同步備份解決方案,來自部落格園dudu的文章。對於一個網站來說,使用者上傳檔案的同步備份是必需要解決的問題。對於有著巨量上傳檔案的大型網站,一般採用分散式儲存系統。而對於上傳檔案量不是很大的網站,只要在另外一臺伺服器上儲存上傳檔案的同

併發程式設計與高併發解決方案學習併發與高併發基本概念

一、概念    併發:同時擁有兩個或兩個以上執行緒,如果程式在單核處理器上執行,多個執行緒將替換地換入或者換出記憶體,這些執行緒是同時"存在"的,每個執行緒都處於執行過程中的某個狀態,如果執行在多核處理

SpringBoot專案的logback日誌配置包括列印mybatis的sql語句

我在這就開門見山直接介紹我們專案日誌的配置使用吧!~ 1、基本介紹 預設情況下,Spring Boot專案就會用Logback來記錄日誌,並用INFO級別輸出到控制檯。如下圖: 實際開發中我們不需要直接新增logback日誌依賴。 你會

log4j不打日誌問題之解決方案()

日誌是應用軟體中不可缺少的部分,Apache的開源專案log4j是一個功能強大的日誌元件,提供方便的日誌記錄。在使用log4j的時候,難免會遇到各種問題;下面介紹一下,使用log4j不列印日誌情況的排查。今天在測試mybatis與ehcache整合的時候發現一個問題,與大家分

DataSet匯出到Excel比較完整的解決方案 --客戶端生成檔案 downmoon

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

ORA-01017: invalid username/password; logon denied Oracle資料庫報錯解決方案

ORA-01017: invalid username/password; logon denied 錯誤(程式中的使用者和密碼無法登入,登入被拒)。 Oracle 11g 版本 初次安裝使用報錯: 解決方法1建立新使用者: 開啟sqlplus 以系統身份登入: 指令

Linux下日誌檔案過大解決方案

很多Linux伺服器裡的應用程式都是無間斷的輸出日誌,這對於伺服器的硬碟是一個很大的考驗。良許之前也分享過一篇文章,介紹如何讓應用程式在後臺執行: linux後臺執行命令:&與nohup的用法 通過以上方法,應用程式的日誌會一直輸出到日誌檔案myout.txt裡,這個檔案也會不斷的增

介紹種超大檔案高速傳輸解決方案

資料正在爆炸式增長,幾乎每兩年翻一番。隨之增加的不僅是資料的數量,還有單體檔案的容量:一張圖片2-3G、一本書稿4-5G、一個視訊片段3-4G、一份設計圖紙十幾G……甚至還有上百G的大檔案。 這些資料和檔案可能是組織機構重要的業務資料,也可能是其重要的資訊資源。它們對於組織機構,尤其是媒

【已解決】maven環境下log4j配置檔案無效的解決方案

背景:學webmagic時跑官方案例,出現以下錯誤: log4j:WARN No appenders could be found for logger (us.codecraft.webmagic.scheduler.QueueScheduler). log4j:WARN

【cmd】批處理:bat檔案執行,cmd會顯示中文亂碼,Jenkins日誌顯示中文亂碼——解決方案

目錄 一、批處理命令執行亂碼情況 二、解決方法 一、批處理命令執行亂碼情況 (1)Jenkins批處理命令亂碼: (2)cmd視窗顯示亂碼: 二、解決方法 (1)【最關鍵的步驟!】bat檔案編碼格式修改為ANSI格式: (

種通用性擴充套件性較強的資料庫解決方案

【資料庫部分】資料庫的表結構方面沒有特殊要求。所有操作都必須做成儲存過程供應用程式來呼叫。每個儲存過程的首引數是一個輸出的int,名為ret。其他引數排布在其後。儲存過程中所有操作使用事務包裹起來,並設定異常處理。處理方式是rollback,並設定ret為約定的預設錯誤碼(實際使用時設定為-1

Sybase 資料庫日誌滿 原因及解決方案

一、sybase資料庫事務日誌滿的原因主要是 (1)open事務未結束,從未結束的open事務之後的日誌都不會被截斷 (2)大事務,從其之後的日誌都不會被截斷 (3)如果存在複製伺服器也會出現該問題,可以加資料庫引數解決 dbcc checktable(syslogs) 最

啟動Oracle11R2資料庫,提示ORA-03113: 通訊通道的檔案結尾的解決方案

SQL> startup; ORA-01031: insufficient privileges SQL> connect /as sysdba; 已連線到空閒例程。 SQL> startup; ORACLE 例程已經啟動。 Total System Gl

log4j不打日誌問題之實戰解決方案(二)

最近在tomcat 容器下啟動專案的時候,接二連三的發現有些專案間歇性的不會列印日誌,由於負責多個專案,多數專案會列印日誌,所以沒注意這個問題。就在昨天有一個專案部署上線的時候,在生產環境下,tomcat啟動正常,但是沒有列印任何日誌資訊,於是才開始留意這個問題

android sdcard儲存方案基於fuse檔案系統

 一、 啟動三個相關service 按啟動順序,如下: service vold /system/bin/vold     class core     socket vold stream 0660 root mount service installd /sy

PowerBI更新 - 解決方案架構圖勝萬字!

service 包括 obi font 數據模型 ont ima power mis 今天發福利啦!發福利啦!發福利啦! 企業的各種數據整合到PowerBI顯示,瀏覽器,移動端顯示關鍵指標。 一個很好的PowerBI解決方案的圖!一圖勝萬字!你所需要知

實戰案例:構建docker容器集群 解決方案:使用自定義網橋連接跨主機容器

docker一、實驗環境虛擬機a兩塊網卡 eth0 eth1 (IP地址static或者dhcp)虛擬機b兩塊網卡 eth0 eth1 (IP地址static或者dhcp)二、在兩臺虛擬機上配置網橋虛擬機a操作:apt-get install bridge-utilsvim /etc/ne

開源解決方案:快速搭建單機版 LAMP 網站

opera clas 資源管理 都在 ger source environ 本地 tin LAMP 通常表示 Linux + Apache + MySQL/MariaDB + Perl/PHP/Python,LAMP 的各個組件不是一成不變的,並不局限於它最初的選擇。作為一