㈠ 如何使用log4j把日誌寫入資料庫
一、前提條件 系統必須是使用LOG4J進行日誌管理,否則方法無效。 系統必須包含commons-logging-xxx.jar,log4j-xxx.jar這兩個JAR包,XXX為版本號。 二、操作步驟 1、創建日誌表 要把日誌持久化,必須在資料庫中創建一張用來存儲日誌信息的表,表...
㈡ 怎麼實時的把日誌寫進資料庫
>數據的同步中主要考慮的三部分,可以理解成三台主機。發布伺服器,分發伺服器和訂閱伺服器;可以從字面的意思理解,要實現的功能實際就是讓訂閱伺服器通過分發伺服器保持數據及時地和發布伺服器上的數據一致。
㈢ 如何把日誌寫入資料庫
可以通過伺服器去讀取本地的日誌文件log4j日誌文件命名都是按照固定名字+日期來命名,然後處理一下再顯示到客戶端或者瀏覽器。
㈣ 如何配置log4j2日誌記錄至資料庫
配置log4j2日誌記錄至資料庫
1、建立用於保存日誌的資料庫表:
sql">CREATETABLE`sys_log`(
`id`int(11)NOTNULLAUTO_INCREMENT,
`level`varchar(32)NOTNULL,
`logger`varchar(100)NOTNULL,
`message`varchar(1000)DEFAULTNULL,
`exception`varchar(10000)DEFAULTNULL,
`date_add`datetimeNOTNULL,
PRIMARYKEY(`id`)
)ENGINE=InnoDBAUTO_INCREMENT=19DEFAULTCHARSET=utf8mb4;
2、配置 databaseAppender :
<JDBCname="databaseAppender"tableName="sys_log">
<ConnectionFactoryclass="cc.s2m.web.s2mBlog.util.StaticProp"method="getDatabaseConnection"/>
<Columnname="date_add"isEventTimestamp="true"/>
<Columnname="level"pattern="%level"/>
<Columnname="logger"pattern="%logger"/>
<Columnname="message"pattern="%message"/>
<Columnname="exception"pattern="%ex{full}"/>
</JDBC>
3、其中 cc.s2m.web.s2mBlog.util.StaticProp類的getDatabaseConnection方法為獲取可用的datasource:
DriverManagerDataSourceds=newDriverManagerDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://127.0.0.1/s2mBlog?characterEncoding=utf8");
ds.setUsername("root");
ds.setPassword("123456");
returnds.getConnection();
4、指派需要記錄的日誌,使用 databaseAppender即可:
<loggername="SYSLOG"level="INFO"additivity="false">
<appender-refref="databaseAppender"/>
</logger>
㈤ 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?
㈦ 如何藉助log4j把日誌寫入資料庫中
首先你這個思路有問題,日誌別保存進資料庫,因為這會增加非常多的插入操作,嚴重影響性能。
如果你非要保存進資料庫,我給你提供一種解決方案:你可以利用Timer類計時,在每天的某個時段將log4j所產生的日誌文件存入資料庫。這樣其實也挺多餘,如果你希望做的是在客戶端或者瀏覽器(我不知道你做的是什麼項目)查看日誌文件,可以通過伺服器去讀取本地的日誌文件(我沒記錯的話,log4j日誌文件命名都是按照固定名字+日期來命名),然後處理一下再顯示到客戶端或者瀏覽器。
㈧ 如何將syslogng的日誌寫入MySQL資料庫
轉載我在使用syslog-ng搭建日誌伺服器中已經講了如何將syslog-ng配置為中心日誌伺服器,下面介紹如何將syslogng的日誌寫入mysql資料庫
系統:Gentoo-2007
1、修改/etc/syslog-ng/syslog-ng.conf,添加
CODE:
source s_remote {
udp(ip(0.0.0.0) port(514));
};
destination r_mysql {
program("/usr/bin/mysql -usyslogadmin -psyslogadmin syslog < /var/log/mysql.pipe");
pipe("/var/log/mysql.pipe"
template("INSERT INTO logs
(host, facility, priority, level, tag, datetime, program, msg)
VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC',
'$PROGRAM', '$MSG' );\n") template-escape(yes));
};
log { source(s_remote); destination(r_mysql); };
2、建立mysql.pipe文件按
#mkfifo /var/log/mysql.pipe
3、重新啟動syslog-ng
#/etc/init.d/syslog-ng restart
這種方法如果結合phpsyslogng一起使用,就可以在瀏覽器中對日誌進行進一步的過濾和查看,非常方便。
㈨ 怎麼樣使用log4net成功將日誌寫入oracle資料庫
一、前提條件
系統必須是使用LOG4J進行日誌管理,否則方法無效。
系統必須包含commons-logging-xxx.jar,log4j-xxx.jar這兩個JAR包,XXX為版本號。
二、操作步驟
1、創建日誌表
要把日誌持久化,必須在資料庫中創建一張用來存儲日誌信息的表,表內欄位為日誌
的一個主要屬性包括:操作類,執行方法,列印時間,日誌級別,日誌內容。
CREATE TABLE RESLOG (LOGID VARCHAR2(20) NOT NULL,
CLASS VARCHAR2(200),
METHOD VARCHAR2(100),
CREATETIME DATE,
LOGLEVEL VARCHAR2(50),
MSG VARCHAR2(4000))
因為存儲的類為類的全部路徑,所以CLASS欄位長度需要比較大。
2、日誌管理配置
LOG4J主要有兩種配置文件.properties和.xml,這里以properties文件為基礎來講
述,關於XML文件的配置,相信大家看完下面的介紹也一樣能輕松完成。
通常在LOG4J.PROPERTIES文件的第一行是:
log4j.rootLogger= XXX,這句是控制日誌的輸出,如果想吧日誌輸出到資料庫,
則需要在XXX中添加「DB」,如log4j.rootLogger=INFO,stdout,Platform,db。上面
這句就是把日誌中級別為INFO的信息輸出到STDOUT,PLATFORM和DB
(DATABASE)中。
配置好如上的信息,LOG4J就知道用戶是想把信息存入資料庫,接下來我們就要來
配置資料庫的相關信息(包括緩存,資料庫連接信息,和執行SQL),配置信息如下:
###JDBCAppender
log4j.appender.db = org.apache.log4j.jdbc.JDBCAppender
//這個配置是選擇使用JDBCAppender方法,將日誌信息存儲到資料庫。當然,如果你還要做其他操作,可以自己寫個類,繼承JDBCAppender就OK了。
log4j.appender.db.BufferSize=1
//這個配置是告訴LOG4J,有多少條日誌信息後才存入資料庫,我這里是1,就是說有一條就查一條,顯然這樣在生產環境下是很影響系統性能的。
log4j.appender.db.driver=oracle.jdbc.driver.OracleDriver
//這個配置是告訴LOG4J,做資料庫存儲所用的驅動。
log4j.appender.db.URL=jdbc:oracle:thin:@<ip>:<port>:<sid>
//這個配置資料庫連接的URL,不用說也都知道。
log4j.appender.db.user=XXX
log4j.appender.db.password=XXX
//上面兩個是資料庫連接時的用戶名和密碼
log4j.appender.db.sql=insert into RESLOG
(LogId,Class,Method,createTime,LogLevel,MSG)
values (SQ_RESLOG_LOGID.Nextval,'%C','%M',
to_date('%d{yyyy-MM-dd HH:mm:ss}','yyyy-MM-dd
HH24:mi:ss'),'%p','%m')
//這個配置是告訴當LOG4J吧日誌存儲資料庫時用的SQL語句。SQ_RESLOG_LOGID.Nextval是我建的一個SEQUENCE;『%C』是日誌中的CLASS;『%M』是列印日誌是執行到類里的方法;『%d』是列印的時間,它支持格式化;『%P』是日誌級別,包括INFO、DEBUG、ERROR等;『%m』是MSG,日誌內容。注意這里的參數區分大小寫。
log4j.appender.db.layout=org.apache.log4j.PatternLayout
通過上面的配置,現在再啟動服務,LOG4J就會自動把原來存儲在.LOG文件中的信息,同時存儲到資料庫了。
㈩ sql server資料庫怎麼寫日誌
sql server資料庫怎麼寫日誌
:查看sql資料庫操作日誌的方法步驟: 1、用windows身份驗證登陸資料庫,點擊【連接】; 2、展開資料庫伺服器下面的【管理】【SQL Server日誌】; 3、雙擊【當前】可以打開【日誌文件查看器】裡面有所有的運行日誌;