Springboot Druid 使用Slf4j輸出可執(zhí)行SQL

前言

在開發(fā)中,為了數(shù)據(jù)安全说贝,所有SQL語句肯定是用占位符的,但是在實際開發(fā)中慎颗,為了方便追蹤問題乡恕,經(jīng)常需要查看具體執(zhí)行的SQL語句內(nèi)容,而用了占位符之后哗总,每次真實執(zhí)行的語句只能靠自己根據(jù)參數(shù)拼接出來几颜,耗時耗力,所以需要一個方法輸出每次執(zhí)行的SQL語句讯屈,并且還是有參數(shù)的(替換了占位符),而Druid就支持此功能(Druid的主要功能可不是這個),所以此文主要講Springboot環(huán)境下使用Druid輸出可執(zhí)行SQL蛋哭,并且是使用的Springboot的默認日志配置格式,因為一旦修改了Springboot的日志配置格式涮母,輸出來的日志一般是沒有顏色區(qū)分的谆趾,如下:


修改后的日志圖片

而springboot默認配置的日志如下:


默認配置圖片

當然也可以自己配置出來顏色躁愿,只是我個人覺得springboot的默認配置已經(jīng)很好看了,不用再配置了

當然Springboot配置Druid輸出可執(zhí)行的SQL文檔太多了沪蓬,只是他們都需要配置日志本身彤钟,也就是配置后日志輸出的樣子我不喜歡,所以各種研究后跷叉,才有了此文(之前百度是真沒有找到用默認配置輸出的方法)

Druid 介紹

Druid是Java語言中最好的數(shù)據(jù)庫連接池逸雹。Druid能夠提供強大的監(jiān)控和擴展功能。以上是官方的自我介紹云挟,也側(cè)面說明了Druid是一個功能強大梆砸,自帶監(jiān)控擴展的數(shù)據(jù)庫連接池,具體想了解Druid的話建議去全球最大的同性交友基地了解

配置

使用Springboot默認的日志配置文件园欣,意味著就沒有l(wèi)og4j.properties之類的文件給我們配置了帖世,那就只有在application.yml或者application.properties中配置springboot告訴它我們哪些地方需要打印日志,需要打印什么級別的日志

首先要配置連接池為Druid

spring:
  application:
    name: admin-managee
  datasource:
    druid:
      url: jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT
      username: test
      password: test
      driver-class-name: com.mysql.cj.jdbc.Driver

使用Druid連接池跟之前不同的是多了一層druid沸枯,而其他的配置則是一樣的

而之前用代碼或者xml配置druid都在druid這個層級下日矫,包括輸出可執(zhí)行SQL如下:

      filters: stat,wall,stat,slf4j,default
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        reset-enable: true
        login-username: Raye
        login-password: 123456
      filter:
        slf4j:
          enabled: true
          statement-create-after-log-enabled: false
          statement-log-enabled: false
          statement-executable-sql-log-enable: true
          statement-log-error-enabled: true
          result-set-log-enabled: false

其中只要statement-executable-sql-log-enable配置為true,則可以輸出可執(zhí)行SQL绑榴,當然如果不想用slf4j輸出日志哪轿,用log4j只需要吧slf4j替換成log4j即可,不過還是推薦使用slf4j彭沼,至于為什么使用slf4j缔逛,百度很多人都已經(jīng)說的很好了,另外druid的其他配置說明也請移步專業(yè)的druid文章姓惑,他們寫的更加詳細

完整配置如下:

spring:
  application:
    name: admin-managee
  datasource:
    druid:
      url: jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT
      username: test
      password: test
      driver-class-name: com.mysql.cj.jdbc.Driver
      filters: stat,wall,stat,slf4j,default
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        reset-enable: true
        login-username: test
        login-password: 123456
      filter:
        slf4j:
          enabled: true
          statement-create-after-log-enabled: false
          statement-log-enabled: false
          statement-executable-sql-log-enable: true
          statement-log-error-enabled: true
          result-set-log-enabled: false
logging:
  level:
    druid:
      sql:
        Statement: DEBUG

ps:之前忘記了logging level的配置褐奴,感謝2樓提出

the end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市于毙,隨后出現(xiàn)的幾起案子敦冬,更是在濱河造成了極大的恐慌,老刑警劉巖唯沮,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脖旱,死亡現(xiàn)場離奇詭異,居然都是意外死亡介蛉,警方通過查閱死者的電腦和手機萌庆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來币旧,“玉大人践险,你說我怎么就攤上這事。” “怎么了巍虫?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵彭则,是天一觀的道長。 經(jīng)常有香客問我占遥,道長俯抖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任瓦胎,我火速辦了婚禮芬萍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘凛捏。我一直安慰自己担忧,他們只是感情好,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布坯癣。 她就那樣靜靜地躺著,像睡著了一般最欠。 火紅的嫁衣襯著肌膚如雪示罗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天芝硬,我揣著相機與錄音蚜点,去河邊找鬼。 笑死拌阴,一個胖子當著我的面吹牛绍绘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迟赃,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼陪拘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纤壁?” 一聲冷哼從身側(cè)響起左刽,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酌媒,沒想到半個月后欠痴,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡秒咨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年喇辽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雨席。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡菩咨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情旦委,我是刑警寧澤奇徒,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站缨硝,受9級特大地震影響摩钙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜查辩,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一胖笛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宜岛,春花似錦长踊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至列敲,卻和暖如春阱佛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背戴而。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工凑术, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人所意。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓淮逊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扶踊。 傳聞我的和親對象是個殘疾皇子泄鹏,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

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

  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進行統(tǒng)計分析...
    時待吾閱讀 4,985評論 0 6
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個目的:監(jiān)視代碼中變量的變化情況姻檀,周期性的記錄到文件中供其他應(yīng)用進行統(tǒng)計分析...
    時待吾閱讀 5,042評論 1 13
  • 一命满、SpringBoot Starter講解 簡介:介紹什么是SpringBoot Starter和主要作用 ...
    DdShare閱讀 1,703評論 2 0
  • 問題 在項目啟動時,發(fā)現(xiàn)打印了大量的debug日志绣版,但是src/main/resources下明明有l(wèi)og4j.x...
    Mr胡桃閱讀 22,071評論 2 11
  • 幾種日志的區(qū)別 commons-loggingapache最早提供的日志的門面接口胶台。避免和具體的日志方案直接耦合。...
    maxwellyue閱讀 34,680評論 3 23