1. 程式人生 > >windows下使用命令動態輸出tomcat日誌

windows下使用命令動態輸出tomcat日誌

轉自http://www.51testing.com/html/99/478599-843404.html

最近測試遇到一個問題,我們的專案使用windows2003伺服器,tomcat+oracle資料庫。專案中有兩個測試人員,經常需要檢視日誌定位問題,但是有兩個問題:

    1.windows下tomcat輸出日誌跟linux下不一樣,linux可以遠端連線使用tail命令很輕鬆就可以看到日誌,並且可以隨時停止。但windows的日誌只輸入到控制檯,不輸出到日誌檔案。這就使得只有開著控制檯才能看得到日誌,而且不能ctrl+C停止擷取。     2.用遠端桌面連線的話,兩個測試人員不可能同時看得到控制檯,而若使用VNC,RADMIN等軟體,又會造成雙方操控很混亂。     所以就在想,要是能像linux那樣隨時檢視日誌又不用操控控制檯就好了。     解決思路:     1.讓tomcat日誌輸出到檔案。這個明顯可以實現的。     2.找個軟體能夠連線windows,並且使用命令動態檢視日誌檔案,比如tail。其實linux中的大多數命令windows也都有,只不過被介面封裝了,現在linux的廣大愛好者早就研發出了將windows命令轉為了相應的linux命令的軟體,所以也不成問題。     下面就開始尋找解決方法了:     1.讓tomcat日誌輸出到檔案 一般啟動tomcat時都用startup.bat,但又有多少人真正研究過這個bat檔案中到底暗藏什麼玄機呢?我們來看一下這個bat檔案。它使用call "%EXECUTABLE%" start %CMD_LINE_ARGS%這句話來呼叫catalina.bat啟動。這句話執行的命令就相當於控制檯輸入catalina.bat start。怎麼樣,是不是跟linux很像啦,不過這個start是會在新視窗中啟動catalina.bat,並將日誌檔案輸出到新視窗中,這顯然不是我們要的效果。我們將它改成call "%EXECUTABLE%" run %CMD_LINE_ARGS%。這樣控制檯就不會輸出日誌檔案了,讓catalina.bat去決定日誌輸出在哪裡吧。     那再來看一下catalina.bat。這裡我就直接引用網上的方法了:尋找以%ACTION%結尾的四處,在後面加上 >> %CATALINA_BASE%\logs\detailLog.%DATE:~0,10%.log  detailLog是我自己起的名字,大家可以隨意更改,但是注意不要與預設日誌檔案衝突,否則啟動會報個錯,儘管無關緊要。那%DATE:~0,10%是用來擷取系統時間的。在我的伺服器上echo %DATE%,顯示出的是“2013-04-02 星期二”,擷取0-10位,也就是“2013-04-02”,所以今天產生的log檔名字應該是 detailLog.2013-04-02.log 這樣再去雙擊startup.bat,就會發現控制檯啟動後不再輸出日誌檔案。再去檢視detailLog.2013-04-02.log,會發現日誌都在裡面。 那下面的工作
,就是如何簡單的將日誌檔案顯示出來了。     2.動態查詢windows日誌檔案 我們都喜歡用tail命令,那就去找個windows中的tail命令。 先下載一個UnxUtils,將它放在某個找得到的位置,解壓,找到..\UnxUtils\usr\local\wbin目錄,看到了吧,我們熟悉的linux命令都在裡面了。將這個路徑加到伺服器系統環境變數PATH中,再開啟cmd,輸入tail --help,顯示出幫助資訊,好了,可以使用了。注意,遠端桌面連線的童鞋,可能要在每一個使用者那裡都重新儲存一下環境變數,否則其他使用者會不認識這個命令哦。 這樣的話,在cmd中輸入tail logs\detailLog.2013-04-02.log,就跟linux效果一樣啦。     我還是覺得不方便,每次都要輸入一下,那何不寫個bat檔案呢?     桌面上新建記事本,     @echo off     tail -f E:\apache-tomcat-6.0.24-2\logs\detailLog.%DATE:~0,10%.log     儲存為log.bat檔案。直接雙擊搞定!

相關推薦

windows使用命令動態輸出tomcat日誌

轉自http://www.51testing.com/html/99/478599-843404.html 最近測試遇到一個問題,我們的專案使用windows2003伺服器,tomcat+oracle資料庫。專案中有兩個測試人員,經常需要檢視日誌定位問題,但是有兩個問題:

windows命令列控制 Tomcat

  每次啟動和關閉tomcat都要開啟tomcat/bin目錄雙擊tomcat.exe非常麻煩,作為程式設計師,當然要尋求命令列操作方式啊,具體步驟如下: windows下進入CMD啟動 在命令列中

Nmap for windows 命令行使用

端口掃描 nmap 從事IT方面的工作,無論是開發或運維,當測試某些系統服務端口時,總會遇到TCP或 UDP 兩種協議。眾所周知,TCP 服務端口,可以通過telnet 進行遠程測試,而UDP 端口,一般來說都會使用Nmap,無論是在linux 還是 windows環境下。在windows 下的Nma

【技巧總結】Windows命令載文件總結

ati button mov ram powers ros run 技巧 meta 0x00 Powershell win2003、winXP不支持 $client = new-object System.Net.WebClient $client.DownloadFil

記錄Windows命令列登入MySQL的失敗

直接cmd回車然後 “ mysql -u root -p  ”  登入時出現錯誤,原來是許可權不夠 開啟cmd時需要以管理員的身份開啟   然後繼續使用 “ mysql -u root -p ” 還是不行,因為我的MySQL不是預設安裝在c盤

windows安裝多個tomcat

首先對於安裝單個tomcat參考部落格:http://blog.csdn.net/qq_33500630/article/details/54413682 tomcat解壓成兩個資料夾,我這裡是安裝兩個版本 因為我這是兩臺tomcat那麼我要配置第二個的CATALINA_BASE(我重名

windows C++動態庫的封裝以及呼叫

1、一個程式從原始檔編譯生成可執行檔案的步驟:預編譯 -->  編譯 -->  彙編 --> 連結(1)預編譯,即預處理,主要處理在原始碼檔案中以“#”開始的預編譯指令,如巨集展開、處理條件編譯指令、處理#include指令等。(2)編譯過程就是把預處理完的檔案進行一系列

windows C++動態庫的封裝以及調用

文件鏈接 系列 語義分析 ++ 動態鏈接 中大 動態 turn 應用 1、一個程序從源文件編譯生成可執行文件的步驟:預編譯 --> 編譯 --> 匯編 --> 鏈接(1)預編譯,即預處理,主要處理在源代碼文件中以“#”開始的預編譯指令,如宏展開、處理條

adb命令輸出logcat日誌

輸出到終端: adb logcat 輸出到指定檔案:如log.txt adb logcat > log.txt 輸出到指定檔案並帶上日誌產生時的系統時間(個人感覺實用的): adb logcat -v time > log.txt

linux各種方法檢視tomcat日誌以及檢視檔案內容指令

寬巨集大量,是惟一能夠照亮偉大靈魂的光芒。——《巴黎聖母院》 1、引言 本週在Linux部署springboot專案的時候,採用自動化部署,一直以來都採用jar包的部署方式,本次採用war包的方式部署到tomcat容器。雖然我在專案中配置了Log

Windows命令列安裝MySQL

一、下載壓縮包 說明:在Windows下,安裝MySQL可以直接下載安裝包(下載地址:https://dev.mysql.com/downloads/installer/),然後直接按照安裝包的提示,安裝自己需要的功能。也可以直接下載zip壓縮包。該壓縮包僅僅包

submit-text3 windows命令列中文亂碼問題

命令列中文亂碼的解決: 1、開啟Sublime Text 3,按Ctrl+~開啟控制行,複製貼上以下python程式碼,然後回車執行。 import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e

Windows Apache Http Server+ Tomcat 整合配置

可能網上已經有很多教程,這裡只是記錄OneCoder自己的搭建過程。 解壓後放置到apache安裝目錄中的modules資料夾中。 然後修改httpd.conf中的配置。加入配置: LoadModule jk_module modul

使用Cmder在Windows按照時間對大日誌檔案進行切分

首先下載安裝Cmder,下載地址:http://cmder.net/ 下載完整版,解壓到沒有中文的路徑下。在Path中新增cmder的位置,要到bin目錄。 這一步做完已經可以使用Cmder了,但是為了方便,需要註冊右鍵選單。 使用管理員身份開啟cmd視窗,執行下面這一條命令 cmd

windows通過nginx實現tomcat叢集負載均衡(入門)

一、目標 Windows下,下載安裝nginx Nginx常用命令 Nginx負載均衡兩個tomcat Nginx配置多個負載均衡服務 二、下載安裝nginx 下載地址http://nginx.org/en/download.html 版本nginx-1.

apk編譯流程學習之Windows命令列打包apk

總結記錄下這兩天的主要學習成果,其中借鑑了網上很多資料,終於成功打包出測試apk檔案並執行。 準備知識挺多的(也是自己太菜了): 1.Android中apk與dex的區別 1. *.apk檔案 APK是Android Package的縮寫,即Android安裝包。通過

為何Windows動態庫總伴隨一個靜態庫?

今天同學來問了一個問題:Visual Studio中生成的動態庫總是伴隨著一個靜態庫檔案,我把這兩個檔案同樣進行重新命名之後還能不能使用? 我對VS下的動態庫的生成並不是很熟悉,表示無法回答這個問題。但這個問題本身卻也讓我產生了疑問:動態庫真的需要總是伴隨著一個靜態庫?根據我在Linux下的經驗,這兩種形式

每天一個linux命令(15):tail 命令,實時列印TOMCAT日誌

tail 命令從指定點開始將檔案寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的日誌檔案,tail -f filename會把filename裡最尾部的內容顯示在螢幕上,並且不但重新整理,使你看到最新的檔案內容.  1.命令格式; tail[必要引數][選擇引數][檔案]    2.命令功能

windows命令列呼叫R指令碼

1、將R.exe所在路徑加到環境變數path下,路徑一般為C:\Program Files\R\R-3.0.1\bin 2、在windows 命令列中敲入 呼叫命令:r CMD BATCH D:\RWORKSPACE\CMD_TEST.R  (注意 CMD BATCH 都要

windows 命令列+winscp 實現與linux的遠端檔案傳輸

安裝WinSCP WinSCP 是一個 Windows 環境下使用的 SSH 的開源圖形化 SFTP 客戶端。同時支援 SCP 協議。它的主要功能是在本地與遠端計算機間安全地複製檔案,並且可以直接編輯檔案。 - 下載:https://winscp.net/e