怎樣把Exception的printStackTrace()列印到檔案裡

來源:互聯網
上載者:User

 例1:

catch   (Exception   e)  
  {  
      log   (e.getMessage   ());  
  }  
  public   void   log   (String   s)  
  {  
        RandomAccessFile   raf   =   new   RandomAccessFile   ("log.txt",   "rw");  
        raf.seek   (raf.length   ());  
        raf.writeBytes   (s);  
        raf.close   ();  
  }  
  這樣不就行了嗎。

例2:

private   static   void   writeToFile(Exception   ex)  
  {  
          String   strLogFileName   =   "d://abc//your.log";  
          FileWriter   fwFileWriter   =   null;  
          FileOutputStream   filOut   =   null;  
          try   {  
                  FileWriter   theFile   =   new   FileWriter(strLogFileName,   true);  
                  PrintWriter   out   =   new   PrintWriter(theFile);  
                  try   {  
                          if(!(ex   ==   null))   {  
                                  ex.printStackTrace(out);  
                                  ut.println();  
                          }  
                          out.close();  
                          theFile.close();  
                  }  
                  catch   (Exception   e)   {  
                          e.printStackTrace();  
        System.out.println(e.getMessage());  
                  }  
                  finally   {  
                          if(out   !=   null)   {  
                                  out.close();  
                          }  
                          if(theFile   !=   null)   {  
                                  theFile.close();  
                          }  
                  }  
          }  
          catch(FileNotFoundException   e)   {  
                  e.printStackTrace();  
                  System.out.println(e.getMessage());  
          }  
          catch(Exception   e)   {  
                  e.printStackTrace();  
                  System.out.println(e.getMessage());  
          }  
  }

例3:

public   void   printStackTrace(PrintStream   s)  
  public   void   printStackTrace(PrintWriter   s)  
   
  我的例子:  
  執行:java    
   
  import   java.net.*;  
  import   java.io.*;  
   
          public   class   SimpleURLCheck   {  
   
              public   static   void   main(String   args[])   {  
                  if   (args.length   ==   0)   {  
                      System.err.println  
                          ("Please   provide   a   URL   to   check");  
                  }   else   {  
                  PrintWriter   pw   =   null;  
                      String   urlString   =   args[0];  
                      try   {  
                      pw   =   new   PrintWriter(new   FileOutputStream("out.txt"));  
                          URL   url   =   new   URL(urlString);  
                          URLConnection   connection   =    
                          url.openConnection();  
                          if   (connection   instanceof   HttpURLConnection)   {  
                              HttpURLConnection   httpConnection   =    
                                    (HttpURLConnection)connection;  
                              httpConnection.connect();  
                              int   response   =    
                                    httpConnection.getResponseCode();  
                              System.out.println(  
                                    "Response:   "   +   response);  
                              InputStream   is   =    
                                  httpConnection.getInputStream();  
                              byte[]   buffer   =   new   byte   [256];  
                              while   (is.read   (buffer)   !=   -1)   {}  
                              is.close();  
                          }  
                      }   catch   (IOException   e)   {  
                          e.printStackTrace(pw);  
                          pw.flush();  
                      }  
                  }  
              }  
        }  

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.