1. 程式人生 > >Tomcat的access log的設定及存放日誌路徑修改

Tomcat的access log的設定及存放日誌路徑修改

Tomcat中預設的情況下,access log是沒有設定的。在server.xml檔案中配置如下。

[html] view plain copy  print?
  1. <!-- Access log processes all example.  
  2.             Documentation at: /docs/config/valve.html -->
  3.        <!--  
  4.        <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"
  5.               prefix
    ="localhost_access_log."suffix=".txt"pattern="common"resolveHosts="false"/>
  6.        -->

一般情況下tomcat和apache是一起使用的,apache也有access log。tomca也設定的話是不是顯得多餘?

tomcat中的access log有一個優點是session ID也打印出來了。根據session ID可以有以下便利。

1,可以根據session ID來跟蹤某個使用者的畫面操作。 

2, 如果出現錯誤的時候,可以根據session ID來再現。便於查找出錯誤的地方。

設定非常簡單。

[html] view plain copy  print?
  1. <!-- Access log processes all example.  
  2.             Documentation at: /docs/config/valve.html -->
  3.        <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"
  4.               prefix="localhost_access_log."suffix=".log"pattern="common"
    resolveHosts="false"/>

Tomcat中的Access Log,預設存放在logs目錄下。這個目錄會越來越大,如果訪問量大的話,很快就會把硬碟擠滿。

解決的方法有兩種:

  1. 不要記錄Access Log:註釋掉server.xml中的<Valve>配置項
  2. 把Access log存放到其他地方,然後定期壓縮歸檔:修改server.xml中<Valve>配置項中的“directory”引數,改為另外一個在大硬碟中的路徑

如果是在執行中的系統,需要多做幾步,先停止Tomcat、把Tomcat/logs中已經存在的Access Log檔案移走、修改配置檔案、然後重啟Tomcat。一個具體的修改例子如下:

假設新存放路徑是/opt/logs/access_logs,檔名字首修改為xjj_access_log以免跟其他Tomcat的log混淆: cd /opt/logs mkdir access_logs vim /opt/app/tomcat-xjj/conf/server.xml
  • 修改:directory="/opt/logs/access_logs"
  • 修改:prefix="xjj_access_log"
停止tomcat:/opt/app/tomcat-xjj/bin/shutdown.sh 無法停止?殺死:kill -9 <pid> cd /opt/app/tomcat-xjj/logs
rename localhost_access_log xjj_access_log *.txt (字尾.txt過濾出所有的access log檔案,並批量重新命名) mv *.txt /opt/logs/access_logs/ 重啟tomcat:/opt/app/tomcat-xjj/bin/startup.sh 

然後,如果有需要,再另外寫指令碼定期壓縮歸檔/opt/logs/access_logs中的檔案(步驟略)。

附上
pattern
pattern屬性值由字串常量和pattern識別符號加上字首"%"組合而成。pattern識別符號加上字首"%",用來代替當前請求/響應中的對應的變數值。目前支援如下的pattern:
· %a - 遠端IP地址
· %A - 本地IP地址
· %b - 傳送的位元組數,不包括HTTP頭,如果為0,使用"-"
· %B - 傳送的位元組數,不包括HTTP頭
· %h - 遠端主機名(如果resolveHost=false,遠端的IP地址)
· %H - 請求協議
· %l - 從identd返回的遠端邏輯使用者名稱(總是返回 '-')
· %m - 請求的方法(GET,POST,等)
· %p - 收到請求的本地埠號
· %q - 查詢字串(如果存在,以 '?'開始)
· %r - 請求的第一行,包含了請求的方法和URI
· %s - 響應的狀態碼
· %S - 使用者的session ID
· %t - 日誌和時間,使用通常的Log格式
· %u - 認證以後的遠端使用者(如果存在的話,否則為'-')
· %U - 請求的URI路徑
· %v - 本地伺服器的名稱
· %D - 處理請求的時間,以毫秒為單位
· %T - 處理請求的時間,以秒為單位
執行結果


相關推薦

Tomcat的access log設定存放日誌路徑修改

Tomcat中預設的情況下,access log是沒有設定的。在server.xml檔案中配置如下。 [html] view plain copy  print? <!-- Access log processes all example.     

oracle rac 11g修改開啟歸檔並修改歸檔日誌路徑

oracle rac 歸檔1、修改歸檔路徑參數sqlplus / as sysdbaSQL> alter system set log_archive_dest_1='location=+ASMARCH' scope=spfile sid='*';2.關閉數據庫,全部節點

keepalived 高可用日誌說明實戰配置日誌路徑

local sysconfig water size 實戰 syslog 查看 onf 說明 日誌文件查看tail -f /var/log/message修改日誌路徑vi /etc/sysconfig/keepalived KEEPALIVED_OPTIONS="

PHP -- 用TP5實現二維碼和logo的生成與設定路徑儲存等

本文利用TP5實現二維碼的生成與設定,logo的新增與設定。 1. 利用 composer 獲取 qr_code 外掛 composer require endroid/qr-code 我用的編譯器是PhpStorm ,所以在下面的Terminal中可以輸入以上命令即可。如下圖:

kong 閘道器access.log日誌格式修改

kong閘道器預設日誌在/usr/local/kong/logs,主要有access.log,admin_access.log,error.log,access.log和nginx的access日誌類似,這裡會記錄所所有通過kong閘道器的日誌,預設的access.log格式為: 這裡預設的

LAMP架構訪問日誌設定切割、靜態檔案失效設定

11月16日任務 11.22 訪問日誌不記錄靜態檔案 11.23 訪問日誌切割 11.24 靜態元素過期時間     訪問日誌不記錄靜態檔案

docker 儲存擴容和存放路徑修改

  1.1 Docker 磁碟擴容   預設情況下,物理機下建立的docker容器的空間是10G(虛擬機器下建立的docker容器空間就是虛擬機器的空間)。 Docker容器動態擴充套件的優點: 1)不需要修改docker配置,不需要重啟docker服務; 2)可以直接對執行

Maven下載安裝repository路徑修改

1. 從官網下載Maven並解壓到需要安裝的目錄中 2. 解壓完後,將bin路徑加入到window的環境變數path中 3. 在cmd中執行命令:mvn -v,將輸出如下的版本資訊 Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c6221

Nginx Access Log 設定訪問日誌,過濾日誌中成功的請求不輸出到日誌

Nginx處理請求後把關於客戶端請求的資訊寫到訪問日誌。預設,訪問日誌位於 logs/access.log,寫到日誌的資訊是預定義的、組合的格式。要覆蓋預設的配置,使用log_format指令來配置一個記錄資訊的格式,同樣使用access_log 指令到設定日誌和格式和位置。

pkg-config的用法庫搜尋路徑設定

一、編譯和連線         一般來說,如果庫的標頭檔案不在 /usr/include 目錄中,那麼在編譯的時候需要用 -I 引數指定其路徑。由於同一個庫在不同系統上可能位於不同的目錄下,使用者安裝庫的時候也可以將庫安裝在不同的目錄下,所以即使使用同一個庫,由於庫的路徑的 不同,造成了用 -I 引數指定

mysql二進位制日誌(bin-log)配置相關操作

1.開啟bin-log (1)在my.con配置檔案裡面 [mysqld] #選項新增 log-bin=mysql-bin #日誌檔名稱,未指定位置,預設資料檔案位置 重啟mysql服務 log_bin是生成的bin-log的檔名,字尾則是6位數字的編碼,從000

java日誌設定常用配置

log4j.rootLogger=WARN,A2,A3log4j.logger.test=DEBUG log4j.appender.A2=org.apache.log4j.RollingFileAppenderlog4j.appender.A2.File=../logs/test.loglog4j.appe

Log4j使用相對路徑指定log檔案使用總結

Log4j在指定log檔案位置時一般是使用絕對路徑,這樣在部署環境發生變化時顯得十分麻煩,在網上找了很多種方法,個人感覺以下方法比較適用: 由於spring也會載入log4j.properties,如果載入不到就往控制檯打log資訊。Spring提供了 一個Log4

apache log 設定日誌例項

LogLevel warn//錯誤日誌error_log級別為警告,此級別為預設 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined //組合日誌

tomcat日誌配置(停止日誌修改日誌路徑)

tomcat下logs目錄中預設有 catalina.2017-12-06.log catalina.out host-manager.2017-12-06.log localhost.2017-12-06.log localhost_access_log.2017-12-

log buffer日誌管理深入分析效能調整(一)

1. log buffer的概念 1.1 log buffer概述 資料庫在執行過程中,不可避免的要遇到各種能夠導致資料塊庫損壞的情況。比如突然斷電、oracle或者作業系統的程式bug導致資料庫內部邏輯結構損壞、磁碟介質損壞等,都有可能造成資料庫崩潰,從而導致資料丟失的現

修改linux系統中tomcat預設輸入日誌路徑

1、修改catalina.sh進入tomcat安裝目錄/bin,找到catalina.sh,先進行備份。對本地的catalina.sh進行修改,這裡是以將日誌目錄修改為/data/logs為例,即將$CATALINA_BASE/logs/catalina.out改為CATAL

Eclipse啟動引數設定配置檔案修改

直接右鍵eclipse的快捷方式,在"目標"中填入下行 D:\eclipse\eclipse.exe -debug options -vm javaw.exe -nl en_US -clean -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=2

redis修改持久化路徑日誌路徑、清快取

redis修改持久化路徑和日誌路徑 vim redis.conf logfile /data/redis_cache/logs/redis.log #日誌路徑 dir /data/redis_cache #持久化路徑,修改後 記得要把d

Oracle Rac 開啟歸檔日誌修改歸檔路徑

一、開啟歸檔日誌: 1、檢視歸檔狀態: SQL> archive log list; Database log mode           No Archive Mode Automatic archival           Disabled Archive