日誌配置
日誌配置
介紹了日誌中log4j的組成和使用,以及在伺服器日誌中使用MDC來進行使用者跟蹤,客戶端的日誌輸出
一. log4j的組成與使用
logger
- 使用:loggerFactory.getlogger
例如:
public static final Logger LOGGER = LoggerFactory.getLogger("receiveChargeResultLogger");
private static final Logger mainLogger = LoggerFactory.getLogger(MibiServiceImpl.class);
- 定義:
<logger name="com.xiaomi" additivity="true">
<level value="info" />
<appender-ref ref="file" />
</logger>
appender
指定日誌資訊的輸出裝置,比如控制檯,檔案,常用的有以下幾個:
org.apache.log4j.ConsoleAppender( 控制檯 )
org.apache.log4j.FileAppender(檔案)
org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌檔案)
org.apache.log4j.RollingFileAppender(檔案大小到達指定尺寸的時候產生一個新的檔案)
org.apache.log4j.WriterAppender(將日誌資訊以流格式傳送到任意指定的地方)
一個示例:
<appender name="file" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/home/work/log/${nationalLocal}/${server_name}/main.log" />
<param name="DatePattern" value=".yyyyMMdd" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-5p %d{yyyy-MM-dd HH:mm:ss.SSS}] [%t] [%X{SessionId}] %l [%m]%n" />
</layout>
</appender>
-rw-r--r-- 1 work work 516M Nov 20 23:59 my-api.log.20161120.gz
-rw-r--r-- 1 work work 361M Nov 21 23:59 my-api.log.20161121.gz
-rw-r--r-- 1 work work 368M Nov 22 23:59 my-api.log.20161122.gz
-rw-r--r-- 1 work work 492M Nov 23 23:59 my-api.log.20161123.gz
-rw-r--r-- 1 work work 656M Nov 24 23:59 my-api.log.20161124.gz
將日誌打到統一的日誌伺服器:scripeAppender
layout
日誌的佈局[INFO
2016
-
11
-
25
00
:
00
:
02.155
] [resin-port-
8088
-1
6
] [aaaHMSAHtMtXl6elKQqIv_1915423058] com.my.controllers.Controller.myImpl(Controller.java:
183
) [login score from auth token is [
5
], userId [
832960495]]
root logger
所有logger的parent,子logger通過配置引數additivity為true來繼承root logger的特徵
二. 日誌中的使用者跟蹤
使用MDC(Mapped Diagnostic Context)儲存上下文資訊(SessionId)。
三. 客戶端使用logcat來輸出
import android.util.Log;
private static final String TAG = "RepayAlarmService";
Log.e(TAG, "add local repay alarm info failed operation application exception", e);
相關文章
- python日誌配置Python
- Nginx日誌配置Nginx
- Django日誌配置Django
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- Apache 配置日誌切割Apache
- Spring Boot日誌配置Spring Boot
- 39,日誌列印sql 配置SQL
- FeignClient配置日誌訪問client
- Spring Boot logback日誌配置Spring Boot
- feign配置日誌不列印
- .netcore console 日誌和配置NetCore
- Nginx日誌配置詳解Nginx
- Django(37)配置django日誌Django
- Mabatis配置錯誤日誌BAT
- Apach的配置和日誌
- Beego(簡介、配置、路由、日誌)Go路由
- mysql5.7 慢日誌配置MySql
- 使用logrotate配置日誌輪詢logrotate
- SpringBoot多環境日誌配置Spring Boot
- YARN的日誌聚集配置使用Yarn
- MySQL InnoDB日誌檔案配置MySql
- django開發-log日誌的配置Django
- MySQL日誌引數配置簡介MySql
- java專案日誌配置檔案Java
- nginx1.24配置logrotate日誌切割Nginxlogrotate
- Logstash 配置Java日誌格式的方法Java
- Spring Boot日誌的使用和配置Spring Boot
- python日誌記錄器的配置Python
- 【Hadoop篇04】Hadoop配置日誌聚集Hadoop
- Apache基礎配置與日誌管理Apache
- nginx日誌配置檔案說明Nginx
- springboot logback配置mybatis 日誌以及多環境配置Spring BootMyBatis
- hadoop配置歷史伺服器&&配置日誌聚集Hadoop伺服器
- 【YashanDB知識庫】windows配置ODBC跟蹤日誌, 使用日誌定位問題Windows
- SpringBoot 實戰 (七) | 預設日誌配置Spring Boot
- K8S日誌接入sls配置K8S
- springboot專案配置logback日誌系統Spring Boot
- Spring Boot 學習筆記(5):日誌配置Spring Boot筆記