將運行信息打印日誌到文件中

開發程序經常要從控制檯當中獲取程序運行的情況,最近在開發在服務器端,導師要求要記錄好運行信息,包括異常信息,客戶連接情況等信息,但控制檯觀看有種種限制,如窗口過小閱讀不方便,或者在服務器上通過命令行運行jar包時的行數限制等等。於是就想到將運行信息打印日誌到文件中。接下來就分享一下這幾天研究出來的幾種打印日誌到文件中的方法。

一:通過開發工具Eclipse設置來直接打印輸出到本地文件中。

   在上方的工具欄打開Run -> Run Configuration 或者 Debug Configurations菜單。 然後點擊工具欄的Common,勾選 “Output File:”, 填寫輸出文件路徑及文件名。如果你勾選了“Append”,輸出的日誌將會被追加寫入到文件最後,否則將會覆蓋重寫文件。




二:通過log4j把異常信息打印到日誌。

首先是要先把log4j的jar包導入到工程中(jar到可以在網上下載)。然後在log4j.properties配置文件中配置如下信息:

    # 定義 DEBUG 優先級, R 爲日誌輸出目的的
    log4j.rootLogger= DEBUG, R 
    # 設置日誌輸出類型 , 爲文件類型
    log4j.appender.R= org.apache.log4j.FileAppender 
    # 設置日誌文件的位置
    log4j.appender.R.file=D\:/Java/logs/logRecord.log
    # 每次在文件尾寫入新的日誌信息 
    log4j.appender.R.Append= true 
    # 日誌輸出信息格式類型 
    log4j.appender.R.layout= org.apache.log4j.PatternLayout 
    # 日誌輸出信息格式爲 換行、日期、優先級、 [ 全類名 ] 、日誌信息、換行 
    log4j.appender.R.layout.ConversionPattern= %n%d%p [%l] %m%n

示例代碼如下:

import org.apache.log4j.Logger;

    public class Test {
           public static void main(String[] args) {
           Logger logger = Logger.getLogger(Test.class.getName());//獲取日誌記錄器,這個記錄器將負責控制日誌信息
              try {
                            //some code;
                   } catch (Exception e) {
                   logger.info(e.getMessage());//使用Logger對象的debug、info方法輸出日誌信息
                  }
                }
        }

三:把cmd命令提示符的信息打印到文本文件(如:在服務器上用命令提示符運行jar包的時候可用)

在輸入命令後再加上“>”和你想保存的文件地址和名字就行了。
例如:將Ping命令的加長包輸出到D盤的ping.txt文本文件。
1、在D:目錄下創建文本文件ping.txt(這步可以省略,偶爾提示無法創建文件時需要)
2、在提示符下輸入ping www.idoo.org.ru -t > D:ping.txt
3、這時候發現D盤下面的ping.txt裏面已經記錄了所有的信息
備註:
只用“>”是覆蓋現有的結果,每一個命令結果會覆蓋現有的txt文件,如果要保存很多命令結果的話,就需要建立不同文件名的txt文件。
那麼有沒有在一個更好的辦法只用一個txt文件呢?答案是肯定的,要在同一個txt文件裏面追加cmd命令結果,就要用“>>”替換“>” 就可以了.


發佈了78 篇原創文章 · 獲贊 26 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章