gin日誌列印到某個目錄,並實現拆分

2021-09-08 06:21:10 字數 1794 閱讀 3107

gin的日誌是預設列印在控制台的,這樣管理起來並不方便。你們會說自己列印到檔案去啊?是的,我想要自己列印到指定的檔案還想要實現日誌按照日期拆分的功能,以前公司的日誌拆分都是運維利用linux的logrotate來實現的日誌拆分,比如每天凌晨拆分一次。

其實開發也可以實現這個功能的。

先附上參考的大佬文章:

用gin的同學都知道,gin的日誌預設是不會列印的,只會在控制台,我封裝了乙個中介軟體,每次gin的呼叫,都會列印出來。

我把日誌列印到了指定的目錄,並沒有列印到當前目錄下。

//禁止logrus的輸出

if err!= nil

// 設定日誌輸出的路徑

logclient.out = src

logclient.setlevel(log.debuglevel)

//apilogpath := "gin-api.log"

logwriter, err := rotatelogs.new(

filename+".%y-%m-%d-%h-%m.log",

rotatelogs.withlinkname(filename), // 生成軟鏈,指向最新日誌檔案

rotatelogs.withmaxage(7*24*time.hour), // 檔案最大儲存時間

rotatelogs.withrotationtime(24*time.hour), // 日誌切割時間間隔

) writemap := lfshook.writermap

lfhook := lfshook.newhook(writemap, &log.jsonformatter{})

logclient.addhook(lfhook)

return func (c *gin.context)

}再看下我的路由裡面是怎麼寫的。

package route

import (

"config/handler"// 說明一下,我這裡的這個專案名即是config

}

來看下我的/var/log/katy目錄下的資訊:

來具體看下裡面的內容(我之前說過我會截圖的)

由於我已經執行過好幾次了,所以你可以看到這裡有好幾條記錄。

你看下從msg以後,是不是按照**的格式來列出來的,依次是:狀態碼,執行時間,請求ip,請求方法,請求路由

希望對你有幫助

Java Exception列印到日誌

工作需要把exception的內容列印到日誌裡,也就是把printstacktrace 輸出的內容轉到文字檔案內。這個方法放在平時用的寫log的靜態類裡方便使用。public class logutil final fileoutputstream fos new fileoutputstream ...

tomcat設定日誌列印到檔案中

1.開啟startup.bat檔案,修改如下內容 call executable start cmd line args 改為call executable run cmd line args catalina home logs catalina.date 0,4 date 5,2 date 8,...

把log4j的日誌資訊列印到swing元件上

網上有很多把system的資訊列印到swing的元件上的,這個就不說了。但是預設情況下log4j的是列印不到的。那怎麼辦呢,肯定首先要做到還是讓system的資訊列印到swing,接著再來操作這個步驟 為自己應用程式的輸出控制台還是不錯的。有個問題,如果要捕獲 log4j 的輸出必須選擇 1.2.1...