1. 程式人生 > >Java Exception列印到日誌

Java Exception列印到日誌

工作需要把Exception的內容列印到日誌裡,也就是把printStackTrace()輸出的內容轉到文字檔案內。這個方法放在平時用的寫log的靜態類裡方便使用。

public class LogUtil
{
	public static void writeLog(final String str, final String name) throws IOException
	{
		final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
		final SimpleDateFormat sdfFile = new SimpleDateFormat("yyyy-MM-dd");

		final String logFile = System.getProperty("java.io.tmpdir");
		final Date date = new Date();
		final String _dateFile = sdfFile.format(date);
		final String _date = sdf.format(date);

		final String logName = logFile + File.separator + _dateFile + " " + name + ".log";
		final File txt = new File(logName);

		if (!txt.exists())
		{
			txt.createNewFile();
		}
		final FileOutputStream fos = new FileOutputStream(txt, true);
		final OutputStreamWriter write = new OutputStreamWriter(fos, "UTF-8");
		final BufferedWriter writer = new BufferedWriter(write);
		writer.write(_date + " | ");
		writer.write(str);
		writer.close();
	}

	public static String logToString(final Exception e)
	{
		//將出錯的棧資訊輸出到printWriter中
		StringWriter stringWriter = null;
		PrintWriter printWriter = null;
		try
		{
			stringWriter = new StringWriter();
			printWriter = new PrintWriter(stringWriter);

			e.printStackTrace(printWriter);
			printWriter.flush();
			stringWriter.flush();
		}
		finally
		{
			if (stringWriter != null)
			{
				try
				{
					stringWriter.close();
				}
				catch (final IOException e1)
				{
					e1.printStackTrace();
				}
			}
			if (printWriter != null)
			{
				printWriter.close();
			}
		}
		return stringWriter.toString();
	}
}


相關推薦

Java Exception列印日誌

工作需要把Exception的內容列印到日誌裡,也就是把printStackTrace()輸出的內容轉到文字檔案內。這個方法放在平時用的寫log的靜態類裡方便使用。 public class LogUtil { public static void writeLog(f

java Exception出錯的棧資訊列印日誌

try {   .... } catch (Exception e) {   e.printStackTrace();   log.err(e.getMessage());    ..... } 通常我們都會去這樣找到出錯的資訊,而列印的出錯的資訊棧

格式化列印日誌Java實現

    日誌按所在主體分為        系統        子系統        模組       &nbs

java如何用LOG列印日誌並輸出資訊到檔案中

使用log4j.jar。log4j 是apache 提供的記錄日誌的jar 檔。 除了這個包外,還需要另一個jar包:.commons-logging.jar commons-logging.jar是配合log4j.jar列印輸出日誌必備的jar包。 下面我們就

java SpringWeb如何實現列印日誌

今天后臺除錯,呼叫後臺介面卻發現沒有把日誌打印出來 於是開始配置列印日誌 1.匯入log4j的jar import org.apache.log4j.Logger; 2.配置log4j.properties log4j.appender.stdout=org.apache.

JAVA Exception處理

++ 變量 ssd 編譯 lar 異常信息 虛擬機 key use 原文地址:http://blog.csdn.net/hguisu/article/details/6155636 1. 引子 try…catch…finally恐怕是大家再熟悉不過的語句了

Java-Exception實踐

loser example tca 文檔 ... 拋出異常 otf 由於 ring 在Java中處理異常並不是一個簡單的事情。不僅僅初學者很難理解,即使一些有經驗的開發者也需要花費很多時間來思考如何處理異常,包括需要處理哪些異常,怎樣處理等等。這也是絕大多數開發團隊都會制定

Java中的日誌——Java.util.logging、log4j、commons-logging

mark svg pen xtra pat sstream ogg package ice Java中給項目程序添加log主要有三種方式,一使用JDK中的java.util.logging包,一種是log4j,一種是commons-logging。其中log4j和co

Java Exception最佳實踐(轉)

理解 異常 resource 開發 lock 結束線程 用戶名 文檔 each https://www.dubby.cn/detail.html?id=9033 1.異常介紹 2.Java中的異常介紹 3.自定義異常 4.幾個建議 1)不要生吞異常 2)申明具體的異常

Java常用的日誌框架對比和深入分析

Java前言 作為一名資深的開發人員,對於日誌記錄框架一定不會很陌生。而且幾乎在所有應用裏面,一定會用到各種各樣的 日誌框架用來記錄程序的運行信息。而對於一個成熟的java應用,這個是必不可少的。在開發和調試階段,日誌可以幫助我們更快的定位問題;而在應用的運維過程中,日誌系統又可以幫助我們記錄大部分的異常信

java中的日誌打印

包含 -s lin 文件 回車 name 指定 文件內容 調試 java中的日誌打印: 日誌工具類: 1 #獲取日誌 INFO:表示獲取日誌的等級 A1:表示日誌存器,可以自定義名稱 2 #===DEBUG INFO 3 log4j.rootLogger

ELK 實現 Java 分散式系統日誌分析架構

ELK 實現 Java 分散式系統日誌分析架構 日誌是分析線上問題的重要手段,通常我們會把日誌輸出到控制檯或者本地檔案中,排查問題時通過根據關鍵字搜尋本地日誌,但越來越多的公司,專案開發中採用分散式的架構,日誌會記錄到多個伺服器或者檔案中,分析問題時可能需要檢視多個日誌檔案才能定位問題,如果相關

AliOS-Things--linkkitapp (6)列印日誌

設定日誌水平: EXAMPLE_TRACE("linkkit start"); /* * linkkit start * max_buffered_msg = 16, set the handle msg max numbers. *

IO流的應用(三)異常列印日誌檔案中

package com.bjpowernode.demo02; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.i

SSM框架下結合 log4j、slf4j列印日誌

首先加入log4j和slf4j的jar包 <!-- 日誌處理 <!-- slf4j日誌包--> <dependency> <groupId>org.slf4j</groupI

java virtual machine launcher :a java exception has occurred

    我遇到了同樣的問題,我花了很長時間才知道解決方案是什麼。我遵守了這一頁和類似頁上的所有建議。我解除安裝和安裝JDK,Eclipse,重置我的專案,我強迫Eclipse清除它的引數,…,沒有成功。     最後確定了我的問題是刪除工作區資料夾中的".

Spring boot 使用Logback列印日誌

Logback是什麼 Logback是由log4j創始人設計的又一個開源日誌元件,它的使用非常簡單靈活,是目前主流的日誌記錄工具。 slf4j log4j logback關係 籠統的講就是slf4j是一系列的日誌介面,而log4j logback是具體實現了的日誌框架。官網文件中

Java常用的日誌框架對比和分析

前言 作為一名資深的開發人員,對於日誌記錄框架一定不會很陌生。而且幾乎在所有應用裡面,一定會用到各種各樣的  日誌框架用來記錄程式的執行資訊。而對於一個成熟的java應用,這個是必不可少的。在開發和除錯階段,日誌可以幫助我們更快的定位問題;而在應用的運維過程中,日誌系統又可以幫助我們

python列印日誌

https://blog.csdn.net/lxc521wjh/article/details/53212729 通過logging.basicConfig函式對日誌的輸出格式及方式做相關配置。logging.basicConfig(**kwargs) 該函式必須在main函式執行緒除外的子執行緒

Laravel 5 SQL語句列印日誌

Laravel 5 用DB自帶的方式列印SQL語句: DB::enableQueryLog(); DB::getQueryLog(); 得到的結果語句和引數是分開的,非常不利於驗證。 [ 0 => array:3 [▼ "query" => "select * f