<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    分享java帶來的快樂

    我喜歡java新東西

    Apache 的標準中規定了4類日志:*

    錯誤日志
    *
    訪問日志
    *
    傳輸日志
    *
    Cookie日志

    其中:傳輸日志和Cookie日志被Apache
    2.0認為已經過時。所以本節僅僅討論錯誤日志和訪問日志。同時錯誤日志和訪問日志被Apache
    2.0默認設置。
    能從日志中獲取哪些信息

    *
    訪問日志
    o
    訪問服務器的遠程機器的地址:可以得知瀏覽者來自何方
    o
    瀏覽者訪問的資源:可以得知網站中的哪些部分最受歡迎
    o
    瀏覽者的瀏覽時間:可以從瀏覽時間(如工作時間或休閑時間)對網站內容進行調整
    o
    瀏覽者使用的瀏覽器:可以根據大多數瀏覽者使用的瀏覽器對站點進行優化
    *
    錯誤日志
    o
    獲知失效鏈接
    o
    獲知
    CGI
    錯誤
    o
    獲知用戶認證錯誤

    配置錯誤日志

    錯誤日志記錄了服務器運行期間遇到的各種錯誤,以及一些普通的診斷信息,比如服務器何時啟動、何時關閉等。
    錯誤日志配置指令
    ErrorLog

    ErrorLog
    指令指定了當服務器遇到錯誤時記錄錯誤日志的文件名。其格式為:

    格式1:ErrorLog 錯誤日志文件名
    格式2:ErrorLog
    "|管道程序名"

    格式1直接指定錯誤日志文件名,除非文件位置用”/“開頭,否則 ErrorLog 所制定的文件位置是相對于 ServerRoot
    目錄的相對路徑。

    格式2實現管道日志,它指定一個命令來處理錯誤日志。
    Apache
    編譯時默認的錯誤日志可以使用如下命令獲得:

    $ apache2 -V| grep DEFAULT_ERRORLOG
    -D
    DEFAULT_ERRORLOG="logs/error_log"

    LogLevel

    LogLevel
    用于調整記于錯誤日志中的信息的詳細程度。其格式為:

    LogLevel 錯誤日志記錄等級

    下面著重說說日志記錄等級:
    緊急程度
    等級 說明
    1 emerg 出現緊急情況使得該系統不可用,如系統宕機等
    2 alert 需要立即引起注意的情況
    3 crit
    危險情況的警告
    4 error 除了emerg、alert、crit的其他錯誤
    5 warn 警告信息
    6 notice
    需要引起注意的情況,但不如error、warn重要
    7 info 值得報告的一般消息
    8 debug
    由運行于debug模式的程序所產生的消息

    如果指定了等級 warn,那么就記錄緊急程度為1至5的所有錯誤信息。
    Ubuntu 中
    Apache 的錯誤日志配置

    配置錯誤日志相對簡單,只要說明日志文件的存放路徑和錯誤日志記錄等級即可。

    從 Ubuntu 中的
    /etc/apache2/apache2.conf 中可知,默認的錯誤日志存放在
    /var/log/apache2/error.log

    ErrorLog
    /var/log/apache2/error.log
    LogLevel warn

    您可以在
    /etc/apache2/apache2.conf
    中設置錯誤日志記錄等級,也可以在相應的虛擬主機的配置文件中設置。
    錯誤日志文件舉例

    下面是一個錯誤日志文件的截取。

    $
    sudo tac /var/log/apache2/error.log
    [Wed Jun 20 14:53:15 2007] [error]
    [client 192.168.0.66] File does not exist:
    /usr/share/phpmyadmin/favicon.ico
    [Wed Jun 20 11:12:50 2007] [notice]
    Apache/2.0.55 (Ubuntu) DAV/2 SVN/1.3.1 mod_python/3.1.4 Python/2.4.3 PHP/5.1.2
    configured -- resuming normal operations
    [Wed Jun 20 11:12:49 2007] [notice]
    Digest: done
    [Wed Jun 20 11:12:49 2007] [notice] Digest: generating secret
    for digest authentication ...
    [Wed Jun 20 09:22:22 2007] [notice] caught
    SIGTERM, shutting down

    從文件內容可以看出,每一行記錄了一個錯誤。格式為:

    日期和時間 錯誤等級
    錯誤消息

    配置訪問日志
    CustomLog

    CustomLog
    指令用來對服務器的請求進行日志記錄。格式為:

    格式1:CustomLog 訪問日志文件名
    記錄格式說明串|格式昵稱
    格式2:CustomLog "|管道程序名 訪問日志文件名"
    記錄格式說明串|格式昵稱

    其中:

    1.
    訪問日志文件名:除非文件位置用”/“開頭,否則所制定的文件位置是相對于
    ServerRoot 目錄的相對路徑
    2.
    格式昵稱:使用 LogFormat
    指令將一個記錄格式說明串賦以一個名稱
    3.
    記錄格式說明串:用字符串和格式說明符(以%開頭)指定日志記錄的內容
    4.
    管道程序名:管道符”|”后面緊跟著一個程序的路徑,這個程序把日志從標準輸入設備中讀入并處理。


    Ubuntu 的 Apache 默認配置中并沒有使用 CustomLog 設置訪問日志,若您希望記錄訪問日志,您需要在虛擬主機的配置文件中分別設置,例如:在
    /etc/apache2/sites-available/default 中有如下的設置:

    CustomLog
    /var/log/apache2/access.log combined

    LogFormat

    為了便于分析 Apache
    的訪問日志,Apache 的默認配置文件中,按記錄的信息不同(用不同格式昵稱說明不同的信息)將訪問日志分為4類,并由 LogFormat
    指令定義了昵稱,如表所示。
    格式分類 格式昵稱 說明
    普通日志格式(common log format,CLF) common
    大多數日志分析軟件都支持這種格式
    參考日志格式(referer log format) referer
    記錄客戶訪問站點的用戶身份
    代理日志格式(agent log format) agent 記錄請求的用戶代理
    綜合日志格式(combined log
    format) combined 結合以上三種日志信息

    LogFormat
    指令用于定義訪問日志的記錄格式。格式為:

    LogFormat "記錄格式說明串" 格式昵稱


    /etc/apache2/apache2.conf 中可知,在 Ubuntu 的 Apache 中定義了下面的 4
    種類型的訪問日志:

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
    \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b"
    common
    LogFormat "%{Referer}i -> %U" referer
    LogFormat "%{User-agent}i"
    agent

    由于綜合日志格式簡單地結合了3種日志信息,所以在配置訪問日志時,要么使用一個綜合文件進行記錄,要么使用分離的多個(1-3)文件記錄。通常使用一個綜合日志格式文件進行記錄,配置為:

    CustomLog
    /var/log/apache2/access.log combined

    若使用3個文件分別進行記錄,配置為:

    CustomLog
    /var/log/apache2/access.log common
    CustomLog /var/log/apache2/referer.log
    referer
    CustomLog /var/log/apache2/agent.log
    agent

    下面的指令組:

    LogFormat "%h %l %u %t \"%r\" %>s %b"
    common
    CustomLog logs/access_log common

    與下面的指令等效:

    CustomLog
    logs/access_log "%h %l %u %t \"%r\" %>s %b"

    通常我們配置訪問日志時,使用先使用
    LogFormat 指令定義格式昵稱,然后再在 CustomLog 指令中引用昵稱的方法。
    格式說明符

    在使用 LogFormat 和
    CustomLog 指令中為了說明要記錄的日志內容,可以使用的常用格式說明符如下表。
    格式說明符 說明
    %v 進行服務的服務器的標準名字
    ServerName,通常用于虛擬主機的日志記錄中。
    %h 客戶機的 IP 地址。
    %l
    從identd服務器中獲取遠程登錄名稱,基本已廢棄。
    %u 來自于認證的遠程用戶。
    %t 連接的日期和時間。
    %r
    HTTP請求的首行信息,典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 資源 協議”。經常可能出現的 METHOD 是
    GET、POST 和 HEAD;RESOURCE 是指瀏覽者向服務器請求的文檔或 URL;PROTOCOL 通常是HTTP,后面再加上版本號,通常是
    HTTP/1.1。
    %>s 響應請求的狀態代碼,一般這項的值是 200,表示服務器已經成功地響應瀏覽器的請求,一切正常;以 3
    開頭的狀態代碼表示由于各種不同的原因用戶請求被重定向到了其他位置;以 4 開頭的狀態代碼表示客戶端存在某種錯誤;以 5
    開頭的狀態代碼表示服務器遇到了某個錯誤。
    %b
    傳送的字節數(不包含HTTP頭信息),將日志記錄中的這些值加起來就可以得知服務器在一天、一周或者一月內發送了多少數據。
    %{Referer}i
    記錄引用此資源的網頁。
    %U 請求的URL路徑,不包含查詢串。
    %{User-Agent}i
    使用的瀏覽器信息。
    訪問日志文件舉例

    下面是從一個訪問日志文件中截取的 3 條記錄。

    $ sudo tac
    /var/log/apache2/access.log
    192.168.0.66 - - [21/Jun/2007:22:07:58 +0800]
    "GET /index.html HTTP/1.1" 200 1185 "-" "Mozilla/4.0 (compatible; MSIE 6.0;
    Windows NT 5.1; SV1; Maxthon; .NET CLR 2.0.50727)"
    192.168.0.77 - -
    [19/Jun/2007:21:03:33 +0800] "GET /manual/style/manual.css HTTP/1.1" 404 1203
    "http://192.168.0.100/manual/logs.html" "Mozilla/4.0 (compatible; MSIE 6.0;
    Windows NT 5.0)"
    192.168.0.66 - - [19/Jun/2007:19:21:55 +0800] "GET
    /dokuwiki/lib/exe/css.php?s=print HTTP/1.1" 304 -
    "http://192.168.0.191/dokuwiki/doku.php" "Mozilla/5.0 (Windows; U; Windows NT
    5.1; en-US; rv:1.8.0.12) Gecko/20070508
    Firefox/1.5.0.12"

    將各項信息分離于下表所示。
    格式說明符 舉例1 舉例2 舉例3
    %h 192.168.0.66
    192.168.1.77 192.168.0.66
    %l -(表示沒有取得信息) - -
    %u - - -
    %t
    [21/Jun/2007:22:07:58 +0800] [19/Jun/2007:21:03:33 +0800] [19/Jun/2007:19:21:55
    +0800]
    %r “GET /index.html HTTP/1.1” “GET /manual/style/manual.css HTTP/1.1”
    “GET /dokuwiki/lib/exe/css.php?s=print HTTP/1.1”
    %>s 200 404 304
    %b
    1185 1203 -
    %{Referer}i ”-” “http://192.168.0.100/manual/logs.html”
    “http://192.168.0.191/dokuwiki/doku.php”
    %{User-Agent}i “Mozilla/4.0
    (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 2.0.50727)”
    “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” “Mozilla/5.0 (Windows; U;
    Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508
    Firefox/1.5.0.12”
    由于整個格式說明字符串是放在”“之內的,所以若要輸出的日志信息內含有引號,需要將”前加轉義符\。例如:若要輸出子串”GET
    /apache_pb.gif HTTP/1.0”,則格式字符串為\”%r\”。

    #不記錄圖片,js,css訪問日志


    <FilesMatch "\.(ico|gif|jpg|png|swf|js|mp3|css)">
        SetEnv NOFILES
    1
    </FilesMatch>


    #去掉日志中的Apache internal dummy connection



    SetEnvIf Remote_Addr "::1" NOFILES
    CustomLog logs/access_log combined
    env=!NOFILES


    posted on 2012-01-31 17:28 強強 閱讀(681) 評論(0)  編輯  收藏 所屬分類: linux 操作系統配置

    主站蜘蛛池模板: 亚洲第一页在线播放| 亚洲人成网站在线播放vr| 内射少妇36P亚洲区| 中国国产高清免费av片| 久久99亚洲综合精品首页| 亚洲阿v天堂在线2017免费| 亚洲精品国产va在线观看蜜芽| 日韩毛片在线免费观看| 亚洲成AV人在线观看网址| 色妞www精品视频免费看| 亚洲男人av香蕉爽爽爽爽| 国产免费伦精品一区二区三区| 中文字幕亚洲天堂| 久久99热精品免费观看动漫| 亚洲人成网址在线观看| 久久久久av无码免费网| 7777久久亚洲中文字幕| 波多野结衣久久高清免费| 成人a毛片视频免费看| 亚洲精品无码MV在线观看| 日韩精品久久久久久免费| 亚洲精品国产专区91在线| 免费可以在线看A∨网站| 国产精品手机在线亚洲| 亚洲色欲色欲www在线丝| 免费无遮挡无码永久视频 | 77777亚洲午夜久久多人| 免费看无码特级毛片| 91亚洲自偷在线观看国产馆| 在线视频观看免费视频18| 久久亚洲AV成人无码国产最大| 国产精品亚洲二区在线观看| 免费A级毛片无码专区| 亚洲色偷偷偷综合网| 亚洲综合熟女久久久30p| 日韩中文字幕精品免费一区| WWW亚洲色大成网络.COM| 亚洲国产精品成人精品无码区| 9久9久女女免费精品视频在线观看| 在线视频亚洲一区| 亚洲一二成人精品区|