【log4j2】LOG4J2保存至數(shù)據(jù)庫的操作

SpringBoot整合log4j2

<dependency> <!-- 引入log4j2依賴 -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency> 

去除SpringBoot默認(rèn)的logback配置:


引用log4j2并排除logback

可以使用IDEA中的Maven Helper 插件排除掉logback的配置:


Maven Helper

編寫log4j2配置文件吃引,并在application配置中引用:

sql語句的顯示需要用log4j的實(shí)現(xiàn)


application配置
<!-- 對(duì)應(yīng)數(shù)據(jù)庫表 -->
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="INFO" monitorInterval="5">
    <appenders>
      <JDBC name="databaseAppender" tableName="fc_log">
          <ConnectionFactory class="com.xxxx.xxxx.ConnectionFactory" method="getDatabaseConnection"/>
          <!-- pattern中填寫標(biāo)準(zhǔn)的log4j2參數(shù)即可 %msg %d 等 -->
          <Column name="log_user" pattern=""/>
          <Column name="log_file" pattern=""/>
          <Column name="log_line" pattern="%c"/>
          <Column name="log_date" pattern="%d{yyyy-MM-dd hh:mm:ss}"/>
          <Column name="log_message" pattern="%m"/>
      </JDBC>
  </appenders>
  <loggers>
      <logger name="com.xxxx" level="debug">
          <AppenderRef ref="databaseAppender" level="debug" />
      </logger>
  </loggers>
</configuration>

編寫數(shù)據(jù)庫連接池(druid):

public class ConnectionFactory{
    private DruidDataSource dataSource;

    private  static ConnectionFactory connectionFactory;

    private Connection getConnection() throws SQLException {
        Properties properties = new Properties();
        String user = "數(shù)據(jù)庫用戶名";
        String password = "數(shù)據(jù)庫密碼";
        String url = "jdbc:mysql://localhost:3306/(數(shù)據(jù)庫名稱)?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf8";
        String driverClassName = "com.mysql.cj.jdbc.Driver";
        properties.put("driverClassName",driverClassName);
        properties.put("url",url);
        properties.put("username",user);
        properties.put("password",password);

        try {
            dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
        } catch (Exception e) {
            try {
                init();
            } catch (Exception e2) {
            }
        }
        return  dataSource.getConnection();
    }

    public static Connection getDatabaseConnection() throws SQLException {
        if(connectionFactory == null){
            connectionFactory = new ConnectionFactory();
        }
        return connectionFactory.getConnection();

    }

    public void init(){
        try {
            if (dataSource != null)
                dataSource.close();
        } catch (Exception e) {
        }
    }
}

最后測(cè)試即可赖晶。

此方法存在一個(gè)待優(yōu)化的點(diǎn),在于數(shù)據(jù)庫性能會(huì)受到影響斜做,且影響較大湿右,期待各位大神的優(yōu)化

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末笆豁,一起剝皮案震驚了整個(gè)濱河市震嫉,隨后出現(xiàn)的幾起案子徽诲,更是在濱河造成了極大的恐慌刹帕,老刑警劉巖吵血,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異偷溺,居然都是意外死亡蹋辅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門挫掏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侦另,“玉大人,你說我怎么就攤上這事尉共“担” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵袄友,是天一觀的道長(zhǎng)殿托。 經(jīng)常有香客問我,道長(zhǎng)剧蚣,這世上最難降的妖魔是什么支竹? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮鸠按,結(jié)果婚禮上礼搁,老公的妹妹穿的比我還像新娘。我一直安慰自己目尖,他們只是感情好馒吴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瑟曲,像睡著了一般募书。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上测蹲,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天莹捡,我揣著相機(jī)與錄音,去河邊找鬼扣甲。 笑死篮赢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的琉挖。 我是一名探鬼主播启泣,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼示辈!你這毒婦竟也來了寥茫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤矾麻,失蹤者是張志新(化名)和其女友劉穎纱耻,沒想到半個(gè)月后芭梯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡弄喘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年玖喘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蘑志。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡累奈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出急但,到底是詐尸還是另有隱情澎媒,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布波桩,位于F島的核電站旱幼,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏突委。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一冬三、第九天 我趴在偏房一處隱蔽的房頂上張望匀油。 院中可真熱鬧,春花似錦勾笆、人聲如沸敌蚜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弛车。三九已至,卻和暖如春蒲每,著一層夾襖步出監(jiān)牢的瞬間纷跛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工邀杏, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留贫奠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓望蜡,卻偏偏與公主長(zhǎng)得像唤崭,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子脖律,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 作為Java開發(fā)人員谢肾,對(duì)于日志記錄框架一定非常熟悉。而且?guī)缀踉谒袘?yīng)用里面小泉,一定會(huì)用到各種各樣的日志框架用來記錄程...
    意識(shí)流丶閱讀 13,927評(píng)論 0 13
  • 日志解決方案這么多芦疏,為何我們選擇slf4j+log4j2來作為日志系統(tǒng)呢冕杠?首先我們來將常見的日志作對(duì)比。 1 日志...
    Jerry_Liang閱讀 5,439評(píng)論 0 5
  • 主要參考:https://blog.csdn.net/zwj1030711290/article/details/...
    TheTempest閱讀 4,266評(píng)論 0 2
  • SpringBoot關(guān)于日志的官方文檔 1眯分、簡(jiǎn)述 簡(jiǎn)單的說拌汇,只要你的 pom 文件中使用了 spring-boot...
    Lunqi閱讀 14,927評(píng)論 7 68
  • 1 日志系統(tǒng) 在應(yīng)用程序的開發(fā)中,通常會(huì)使用日志記錄監(jiān)視代碼中變量的變化情況弊决,輸出到控制臺(tái)噪舀,文件系統(tǒng)或者網(wǎng)絡(luò)。記錄...
    貪睡的企鵝閱讀 530評(píng)論 0 0