1. 程式人生 > >Tomcat的訪問日誌-localhost_access_log和記錄Post請求引數

Tomcat的訪問日誌-localhost_access_log和記錄Post請求引數

  1. tomcat的日誌分類
    1. http://blog.csdn.net/fly910905/article/details/78463909
  2. tomcat產生的訪問日誌資料  【localhost_access_log.Y-M-D.txt】
    1. 它記錄的訪問的時間,IP,訪問的資料等相關資訊

  3. 首先是配置tomcat訪問日誌資料,配置的方式如下
    1. 開啟${catalina}/conf/server.xml檔案
    2. 注:${catalina}是tomcat的安裝目錄
      1. <Valve className="org.apache.catalina.valves.AccessLogValve"
        directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b"
      2. prefix="localhost_access_log" suffix=".txt"/>
      tomcat訪問日誌關閉:
      1. 只需要將
      2. ${catalina}/conf/server.xml裡面的下列申明註釋掉再重啟tomcat就好

    引數說明:

    className 官方文件上說了:This MUST be set to org.apache.catalina.valves.AccessLogValve to use the default access log valve。
    directory 日誌檔案存放的目錄。通常設定為tomcat下已有的那個logs檔案。
    prefix 日誌檔案的名稱字首。
    suffix 日誌檔案的名稱字尾。
    pattern 最主要的引數。
    pattern。它的引數比較多。可以設定成common,combined兩種格式。

    common的值:%h %l %u %t %r %s %b
    combined的值:%h %l %u %t %r %s %b %{Referer}i %{User-Agent}i  

    resolveHosts 如果是true,tomcat會將這個伺服器IP地址通過DNS轉換為主機名;如果是false,就直接寫伺服器IP地址。預設false。
    rotatable 預設為true,tomcat生成的檔名為prefix(字首)+.+時間(一般是按天算)+.+suffix(字尾),如:localhost_access_log.2007-09-22.txt。設定為false的話,tomcat會忽略時間,不會生成新檔案,檔名就是:localhost_access_log.txt。長此以往,這個日誌檔案會超級大
    condition 這個引數不太實用,可設定任何值,比如設定成condition="tkq",那麼只有當ServletRequest.getAttribute("tkq")為空的時候,該條日誌才會被記錄下來。

    fileDateFormat
    顧名思義,就是時間格式嘛。但這個時間格式是針對日誌檔名起作用的。咱們生成的日誌檔案全名:localhost_access_log.2016-09-22.txt,這裡面的2016-09-22就是這麼來的。如果想讓tomcat每小時生成一個日誌檔案,也很簡單,將這個值設定為:fileDateFormat="yyyy-MM-dd.HH",當然也可以按分鐘生成什麼的,自己改改吧^_^
  4. 具體的日誌產生樣式說明如下(從官方文件中摘錄)
    1. *%a -Remote IP address // 這是記錄訪問者的IP,在日誌裡是127.0.0.1
    2. *%A -Local IP address // 這是記錄本地伺服器的IP,在日誌裡是192.168.254.108
    3. *%b -Bytes sent, excluding HTTP headers, or '-'if zero // 傳送資訊的位元組數,不包括http頭,如果位元組數為0的話,顯示為-
    4. *%B -Bytes sent, excluding HTTP headers // 傳送資訊的位元組數,不包括http頭。
    5. *%h -Remote host name (or IP address if resolveHosts is false)//伺服器的名稱。如果resolveHosts為false的話,這裡就是IP地址了,例如我的日誌裡是10.217.14.16
    6. *%H -Request protocol //訪問者的協議,這裡是HTTP/1.0
    7. *%l -Remote logical username from identd (always returns '-')// 官方解釋:Remote logical username from identd (可能這樣翻譯:記錄瀏覽者進行身份驗證時提供的名字)(always returns '-')
    8. *%m -Request method (GET, POST, etc.)// 訪問的方式,是GET還是POST
    9. *%p -Local port on which this request was received // 本地接收訪問的埠
    10. *%q -Query string (prepended with a '?'if it exists)// 比如你訪問的是aaa.jsp?bbb=ccc,那麼這裡就顯示?bbb=ccc,就是querystring的意思
    11. *%r -First line of the request (method and request URI)// First line of the request (method and request URI) 請求的方法和URL
    12. *%s - HTTP status code of the response // http的響應狀態碼
    13. *%S -User session ID // 使用者的session ID,這個session ID大家可以另外查一下詳細的解釋,反正每次都會生成不同的session ID
    14. *%t -Date and time, in CommonLogFormat// 請求時間
    15. *%u -Remote user that was authenticated (if any),else'-'// 得到了驗證的訪問者,否則就是"-"
    16. *%U -Requested URL path // 訪問的URL地址,我這裡是/rightmainima/leftbott4.swf
    17. *%v -Local server name // 伺服器名稱,可能就是你url裡面寫的那個吧,我這裡是localhost
    18. *%D -Time taken to process the request, in millis // 請求消耗的時間,以毫秒記
    19. *%T -Time taken to process the request, in seconds //請求消耗的時間,以秒記
    20. There is also support to write information from the cookie, incoming header, the Session or something else in the ServletRequest.
    21. It is modeled after the apache syntax:
    22. *%{xxx}i for incoming headers
    23. *%{xxx}c for a specific cookie
    24. *%{xxx}r xxx is an attribute in the ServletRequest
    25. *%{xxx}s xxx is an attribute in the HttpSession
  5.  示例【格式為 %h %l %u %t "%r" %s %b
    1. 140.205.201.39--[31/Aug/2017:17:06:52+0800]"GET /clusters.jsf HTTP/1.1"404-
    2. 60.191.38.77--[31/Aug/2017:17:11:35+0800]"GET / HTTP/1.1"404-
    3. 61.232.253.54--[31/Aug/2017:19:04:53+0800]"GET / HTTP/1.1"404-
    4. 100.116.151.190--[31/Aug/2017:20:45:17+0800]"GET /CloudPayment/bill/querySelfPayList.do HTTP/1.0"20060
    5. 100.116.41.2--[31/Aug/2017:20:45:34+0800]"GET /CloudPayment/user/pay.do HTTP/1.0"2001422
    6. 100.116.151.145-

      相關推薦

      Tomcat訪問日誌-localhost_access_log記錄Post請求引數

      tomcat的日誌分類 http://blog.csdn.net/fly910905/article/details/78463909 tomcat產生的訪問日誌

      tomcat訪問(access)日誌配置記錄Post請求引數

      一、配置與說明 tomcat訪問日誌格式配置,在config/server.xml裡Host標籤下加上 1 2 3 <Valve className="org.apache.catalina.valves.AccessLogValve" dire

      在nginx日誌access log可以記錄POST請求的引數值

      1)      在nginx日誌access log可以記錄POST請求的引數值 實現程度:日誌中可以顯示POST請求所提交的引數值 問題: 日誌中文顯示十六進位制(在配置檔案中配置中文也無效) 沒有對json資料進行測試,正文型別為:Content-T

      idea 開啟 tomcat 訪問日誌記錄

      所有 技術分享 inf cat bsp 開啟 bubuko 請求 記錄 all 為 設置為 查看所有類型的請求 (包括ajax) idea 開啟 tomcat 訪問日誌記錄

      tomcat訪問日誌詳解

      tomcat訪問日誌詳解tomcat日誌 tomcat日誌配置在server.xml裏的<host>標簽下加上<Valve className="org.apache.catalina.valves.AccessLogValve"directory="logs" prefix="localh

      SLF4J + logback 實現日誌輸出記錄

      -- .com 保持 不存在 default stat 我們 fix jar包 一、SLF4J   SLF4J,即簡單日誌門面(Simple Logging Facade for Java),不是具體的日誌解決方案,它只服務於各種各樣的日誌系統。在使用SLF4J的時候,不

      Dockerfile-tocmat:基於dockerhub的tomcat訪問日誌配置封裝

      1.需求變了,需要不依賴本地映象,之前那個需要依賴本地映象,需要一個可移植、不依賴本地配置的dockerfile FROM tomcat:8.0 2 # author 3 # MAINTAINER admin <[email protected]> 4 # put t

      spring boot Tomcat訪問日誌

      1.Tomcat設定訪問日誌 1 <Host name="localhost" appBase="webapps" 2 unpackWARs="true" autoDeploy="true"> 3 <!-- 4 <

      nginx前端,tomcat後端伺服器獲取客戶的真實IP,包括tomcat訪問日誌獲取真實IP的配置

      原文連結https://blog.csdn.net/teddy17/article/details/51744119 在安裝完以nginx+tomcat的WEB伺服器,使用預設的配置,會導致伺服器上的日誌檔案,只有nginx日誌能獲取到客戶的真實IP,而tomcat以及上面的JAVA WEB應用

      更改Tomcat字元編碼設定及解決post請求中文字元亂碼

      我遇到這個問題的時候是在做一個第三方支付介面的時候,在回撥函式中,解碼URL的時候怎麼解都不好使,解出來是亂碼的問題,搞了半天沒解決,百度找到了另一種方法。 這是第一種方法 new String(getURLDecoderString(json).getBytes("IS

      JQ實現 選擇標籤後 新增節點,刪除節點 拼接post請求的data

      <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> <style

      Http通訊訪問網路資源(Get與Post請求)

      新增網路訪問許可權 <uses-permission android:name="android.permission.INTERNET"/>package com.zdsoft.httpget; import android.os.Handler; impo

      java獲取GETPOST請求引數

      一 獲取請求方式 request.getMethod();    get和post都可用, 二 獲取請求型別 request.getContentType();   get和post都可用,示例值:application/json ,multipart/form-data, application/x

      Tomcat訪問日誌淺析

      <ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"prefix="localhost_access_log."suffix=".txt"pattern="%s %D

      Jersey使用總結一(jersey初步使用簡單post請求幾種引數傳遞,String方式,不含物件操作)

      首先說明一下,jersey是幹什麼的呢,我個人的理解就是類似於一種webservice技術或框架 jersey-rest為service端,其它的jersey請求為客戶端,客戶端傳送一個請求(帶參或不帶參)呼叫service端的方法,方法返回結果給客戶端。 如以下使用步奏

      tomcat訪問日誌分析

      常使用web伺服器的朋友大都瞭解,一般的web server有兩部分日誌: 一是執行中的日誌,它主要記錄執行的一些資訊,尤其是一些異常錯誤日誌資訊 二是訪問日誌資訊,它記錄的訪問的時間,IP,訪問的資料等相關資訊。 現在我來和大家介紹一下利用tomcat產生的訪問日誌資料,我們能做哪些有效的分析資料?

      spark2.x-jvm調優實戰(以tomcat訪問日誌分析為例)

      背景 如果在持久化RDD的時候,持久化了大量的資料,那麼Java虛擬機器的垃圾回收就可能成為一個性能瓶頸。因為Java虛擬機器會定期進行垃圾回收,此時就會追蹤所有的java物件,並且在垃圾回收時,找到那些已經不在使用的物件,然後清理舊的物件,來給新的物件騰出記

      關於get請求引數的長度post請求引數的長度的區別

      最近在做一個上傳圖片的功能,用到了post請求,通過網上查閱資料,對post請求的引數長度有了進一步的理解,所以索性就把以前學過的get和post 請求引數的異同點,進行總結,以備記憶!      一、  Get方法長度限制 首先Http Get方法提交的資料大小長度並沒有

      Spring mvc 針對get post 請求引數的不同接收方式

      GET 請求 針對與於get請求spring mvc控制層主要接收方式如下 1.直接在controller接收引數,引數名稱要與getURl中傳遞的引數一致 get url : https://localhost:8080/demo/login?&userName=

      HttpClient getHttpClient Post請求的方式獲取伺服器的返回資料

      /*  * 演示通過HttpClient get請求的方式獲取伺服器的返回資料  */public class HttpClientDemo { public static void main(String[] args) throws ClientProtocolEx