日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java log4j 写日志_Java log4j同时写入文本日志和数据库日志

發(fā)布時(shí)間:2023/12/2 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java log4j 写日志_Java log4j同时写入文本日志和数据库日志 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

版權(quán)聲明:轉(zhuǎn)載原創(chuàng)文章請(qǐng)以超鏈接形式請(qǐng)注明原文章出處,尊重作者,尊重原創(chuàng)!

恰飯廣告

Log4jUtil.java

import org.apache.log4j.Logger;

import org.apache.log4j.MDC;

public class Log4jUtil {

private static Logger logger = Logger.getLogger(Log4jUtil.class.getName());

/**

* 增刪改動(dòng)作的日志寫(xiě)入 (誰(shuí) 操作 什么)

* @param op 用戶(hù)操作

* @param param 傳入?yún)?shù)

*/

public static void logInfo(String op, String param) {

if( (op.equals("")||op==null) || (param.equals("")||param==null)){

System.out.println("沒(méi)有參數(shù)傳入");

}

else{

MDC.put("user", "session.id"); // 用戶(hù)id

MDC.put("operation", op); // 用戶(hù)操作

MDC.put("param", param); // 接收參數(shù)

logger.info("");

MDC.remove("user");

MDC.remove("operation");

MDC.remove("param");

}

}

/**

* 發(fā)生異常的日志寫(xiě)入

* @param ex 異常信息

*/

public static void logError(String ex) {

logger.error(ex);

}

}

log4j.properties(放在src目錄下)

### 設(shè)置級(jí)別和目的地(這里多個(gè)目的地) ###

log4j.rootLogger = CONSOLE,InfoLog,ErrorLog,logDB

### 輸出到控制臺(tái) ###

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.Target = System.out

log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L [%t:%r]- %m%n

### 輸出文件info ###

log4j.logger.infolog = InfoLog

log4j.appender.InfoLog = org.apache.log4j.DailyRollingFileAppender

log4j.appender.InfoLog.File = logs/info.log

log4j.appender.InfoLog.Append = true

log4j.appender.InfoLog.Threshold = INFO

log4j.appender.InfoLog.DatePattern = '.'yyyy-MM

log4j.appender.InfoLog.layout = org.apache.log4j.PatternLayout

log4j.appender.InfoLog.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] - [%X{user} %X{operation} %X{param}] - %m%n

### 輸出文件error ###

log4j.logger.errorlog = ErrorLog

log4j.appender.ErrorLog = org.apache.log4j.DailyRollingFileAppender

log4j.appender.ErrorLog.File = logs/error.log

log4j.appender.ErrorLog.Append = true

log4j.appender.ErrorLog.Threshold = ERROR

log4j.appender.ErrorLog.DatePattern = '.'yyyy-MM

log4j.appender.ErrorLog.layout = org.apache.log4j.PatternLayout

log4j.appender.ErrorLog.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] - [%X{user} %X{operation} %X{param} - %m%n

#將日志輸出到SQLserver數(shù)據(jù)庫(kù)

log4j.appender.logDB = org.apache.log4j.jdbc.JDBCAppender

log4j.appender.logDB.layout = org.apache.log4j.PatternLayout

log4j.appender.logDB.Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver

log4j.appender.logDB.URL = jdbc:sqlserver://localhost:1433;DatabaseName=hibernatetest

log4j.appender.logDB.User = sa

log4j.appender.logDB.Password = 123456

log4j.appender.logDB.Sql =INSERT INTO T_Log(create_date,[level],category,file_name,thread_name,line,all_category,message,[user],operation,param)values('%d{yyyy-MM-dd HH\:mm\:ss}','%p','%c','%F','%t','%L','%l','%m','%X{user}','%X{operation}','%X{param}')

Sql腳本(SQL Server)

CREATE TABLE [dbo].[T_Log](

[id] [int] IDENTITY(1,1) NOT NULL,

[create_date] [datetime] NULL,

[level] [varchar](50) NULL,

[category] [varchar](50) NULL,

[file_name] [varchar](50) NULL,

[thread_name] [varchar](50) NULL,

[line] [int] NULL,

[all_category] [varchar](50) NULL,

[message] [varchar](50) NULL,

[user] [varchar](50) NULL,

[operation] [varchar](50) NULL,

[param] [varchar](50) NULL,

CONSTRAINT [PK_T_Log] PRIMARY KEY CLUSTERED

(

[id] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

GO

相關(guān)jar包

log4j.jar、mssql-jdbc.jar

注意:

log4j.properties文件的數(shù)據(jù)庫(kù)連接根據(jù)自己的數(shù)據(jù)庫(kù)來(lái)

讓我恰個(gè)飯吧.ヘ( ̄ω ̄ヘ)

支付寶 ——————- 微信

恰飯廣告

總結(jié)

以上是生活随笔為你收集整理的java log4j 写日志_Java log4j同时写入文本日志和数据库日志的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。