日誌配置
日誌配置
介紹了日誌中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);
相關文章
- Nginx日誌配置Nginx
- Django日誌配置Django
- python日誌配置Python
- nginx日誌切割配置Nginx
- Apache 配置日誌切割Apache
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- Spring Boot日誌配置Spring Boot
- Django(37)配置django日誌Django
- 39,日誌列印sql 配置SQL
- Mabatis配置錯誤日誌BAT
- Apach的配置和日誌
- Nginx日誌配置詳解Nginx
- mybatis列印sql日誌配置MyBatisSQL
- PostgreSQL歸檔日誌配置SQL
- Beego(簡介、配置、路由、日誌)Go路由
- mysql5.7 慢日誌配置MySql
- feign配置日誌不列印
- MySQL InnoDB日誌檔案配置MySql
- YARN的日誌聚集配置使用Yarn
- SQL Server 日誌傳送配置SQLServer
- FeignClient配置日誌訪問client
- MySQLSlowlog慢查詢日誌的配置以及清空日誌內容MySql
- django開發-log日誌的配置Django
- MySQL日誌引數配置簡介MySql
- 使用logrotate配置日誌輪詢logrotate
- Apache基礎配置與日誌管理Apache
- 日誌log4j的配置
- java專案日誌配置檔案Java
- 【YashanDB知識庫】windows配置ODBC跟蹤日誌, 使用日誌定位問題Windows
- hadoop配置歷史伺服器&&配置日誌聚集Hadoop伺服器
- 中介軟體jboss7配置log日誌與配置
- python日誌記錄器的配置Python
- K8S日誌接入sls配置K8S
- Spring Boot logback日誌配置Spring Boot
- Nginx實戰(三) 日誌配置與切割Nginx
- Oracle 監聽器日誌配置與管理Oracle
- log4j日誌檔案配置
- log4j日誌配置詳解