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

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

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

    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    java 日志類

    Posted on 2009-05-10 20:43 Gavin.lee 閱讀(878) 評(píng)論(0)  編輯  收藏 所屬分類: Log && File Operate
    這是我在500wan時(shí)候,手機(jī)wap項(xiàng)目中用到的日志類,很簡(jiǎn)單,只是記錄報(bào)文。方便檢查。

     (有所更新 version 1.1)

     

    package com.Gavin.tools.util;

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.UnsupportedEncodingException;
    import java.io.Writer;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    import org.apache.log4j.Logger;

    /**
     * 一個(gè)簡(jiǎn)單的日志類,啟動(dòng)日志后,會(huì)在WebRoot下創(chuàng)建一個(gè)weglogs文件來(lái)存放日志。
     *         該日志文件類能指定編碼讀、寫
     * 
    @author Gavin.lee
     * @date 09-04-24 14:07pm
     * 
    @version 1.1
     
    */


    public class WriteLog {
        
        
    public synchronized static void writeLog(String className, String context) {
            String projectPath 
    = WriteLog.getProjectPath();        
            String dest_src 
    = WriteLog.getSqe();
            String datetime[] 
    = WriteLog.getDate().split("\\\\");
            
            
    //OK    version 1.1
            String filepath = projectPath;
            
            String foldername 
    = new StringBuffer("weblogs/").append(className).append("/")
                                                            .append(datetime[
    0]).append("/")
                                                            .append(datetime[
    1]).append("/")
                                                            .append(datetime[
    2]).toString();        
            
            String urlname 
    = new StringBuffer(projectPath).append("weblogs/") .append(className).append("/")
                                            .append(datetime[
    0]).append("/")
                                            .append(datetime[
    1]).append("/")
                                            .append(datetime[
    2]).append("/").append(dest_src).toString();            
            
            WriteLog.createFolder(filepath, foldername);            
            WriteLog.createFile(urlname, context);
        }

        
        
    public synchronized static void writeLog(String className, String request, String response) {
            String projectPath 
    = WriteLog.getProjectPath();        
            String dest_src 
    = WriteLog.getSqe();
            String datetime[] 
    = WriteLog.getDate().split("\\\\");
            
            
    //OK    version 1.1
            String filepath = projectPath;
            String foldername 
    = new StringBuffer("weblogs/").append(className).append("/")
                    .append(datetime[
    0]).append("/")
                    .append(datetime[
    1]).append("/")
                    .append(datetime[
    2]).toString();        
            
            String urlname 
    = new StringBuffer(projectPath).append("weblogs/") .append(className).append("/")
                    .append(datetime[
    0]).append("/")
                    .append(datetime[
    1]).append("/")
                    .append(datetime[
    2]).append("/").append(dest_src).toString();        
            
            WriteLog.createFolder(filepath, foldername);            
            WriteLog.createFile(urlname 
    + ".txt", request);
            WriteLog.createFile(urlname 
    + ".xml", response);
        }

        
        
    public static String getProjectPath() {//  找到 WebRoot
            String path = WriteLog.class.getResource("/").getPath();
            String projectPath 
    = path.substring(0, path.length()-16);   
            
            
    return projectPath;
        }

        
        
    public static String getSqe(){//   "200905090448454845"
            String sqe="";
            SimpleDateFormat sd 
    = new SimpleDateFormat("yyyyMMddHHmmssms");          
            Date date 
    = new Date();
            sqe 
    = sd.format(date);
            
            
    return sqe;
        }

        
        
    public static String getDate()//  "200905\\20090504\\2009050414"
            SimpleDateFormat sd = new SimpleDateFormat("yyyyMM");
            SimpleDateFormat sd2 
    = new SimpleDateFormat("yyyyMMdd");
            SimpleDateFormat sd3 
    = new SimpleDateFormat("yyyyMMddHH");
            Date date 
    = new Date();
            
            String sqe 
    = new StringBuffer(sd.format(date)).append("\\")
                                            .append(sd2.format(date)).append(
    "\\")
                                            .append(sd3.format(date)).toString();
            
            
    return sqe;  //
        }

        
        
    /**
         * 創(chuàng)建目錄, 創(chuàng)建前,先檢查要?jiǎng)?chuàng)建的文件夾父文件夾是否存在。
         * 
    @param filePath 絕對(duì)路徑
         * 
    @param folderName  需要?jiǎng)?chuàng)建的文件夾(可以多級(jí))
         
    */

        
    public synchronized static void createFolder(String filePath, String folderName) {
            
    try {
                String[] st 
    = folderName.split("/");
                
    for (int i = 0; i < st.length; i++{
                    filePath 
    = filePath + st[i] + "/";
                    File file 
    = new File(filePath);
                    File parentFile 
    = new File(file.getParent());
                    
    if (!parentFile.exists()) {
                        parentFile.mkdir();
                    }

                    
    if (!file.exists()) {
                        file.mkdir();
                    }

                }

            }
     catch (Exception e) {
                e.printStackTrace();
            }

            
        }


        
    /**
         * 
    @param filename 絕對(duì)路徑/文件
         * 
    @param content 需要寫入文件的內(nèi)容
         
    */

        
    public static void createFile(String filename, String content) {
            FileOutputStream fos;
            
    try {
                fos 
    = new FileOutputStream(filename);
                
    byte str[] = content.getBytes();
                fos.write(str);
                fos.flush();
                fos.close();
            }
     catch (FileNotFoundException e) {
                System.out.println(
    "create file ERROR!");
            }
     catch (IOException e) {
                System.out.println(
    "write file ERROR!");
            }

        }

        
        
    /**
         * 讀取文本文件內(nèi)容
         * 
         * 
    @param filePathAndName
         *            帶有完整絕對(duì)路徑的文件名
         * 
    @param encoding
         *            文本文件打開(kāi)的編碼方式
         * 
    @return 返回文本文件的內(nèi)容
         
    */

        
    public String readFileByEncoding(String filePathAndName, String encoding) {
            encoding 
    = encoding.trim();
            StringBuffer str 
    = new StringBuffer("");
            String st 
    = "";
            
    try {
                FileInputStream fs 
    = new FileInputStream(filePathAndName);
                InputStreamReader isr;
                
    if (encoding.equals("")) {
                    isr 
    = new InputStreamReader(fs);
                }
     else {
                    isr 
    = new InputStreamReader(fs, encoding);
                }

                BufferedReader br 
    = new BufferedReader(isr);
                
    try {
                    String data 
    = "";
                    
    while ((data = br.readLine()) != null{
                        str.append(data 
    + " ");
                    }

                }
     catch (Exception e) {
                    str.append(e.toString());
                }

                st 
    = str.toString();
            }
     catch (IOException es) {
                st 
    = "";
            }

            
    return st;
        }

        
        
    /**
         * 
    @param filename 絕對(duì)路徑/文件,必須要求父文件夾
         * 
    @param content 需要寫入文件的內(nèi)容
         
    */

        
    public static void createFileByEncoding(String filename, String content, String encoding) {
            
    try {
                FileOutputStream fos 
    = new FileOutputStream(filename);
                OutputStreamWriter osr 
    = new OutputStreamWriter(fos, encoding);
                Writer out 
    = new BufferedWriter(osr);
                out.write(content);
                out.flush();
                out.close();
            }
     catch (IOException e) {
                e.printStackTrace();
            }
            
        }

        
        
        
    public static void main(String[] args) {
            WriteLog.writeLog(
    "WriteLog""writeLog test");        
        }

    }

    主站蜘蛛池模板: 亚洲精品高清国产一线久久| 国产成+人+综合+亚洲专| 亚洲精品无码久久久久YW| 日韩精品无码免费专区午夜| 日韩中文无码有码免费视频 | 亚洲国产精品不卡在线电影| 老司机精品视频免费| 国产成人yy免费视频| 国产亚洲一区二区在线观看| 免费无码专区毛片高潮喷水| 中文字幕影片免费在线观看| 亚洲另类激情综合偷自拍| 国产精品免费久久久久影院| 在线免费观看污网站| 亚洲午夜电影一区二区三区| 免费毛片a线观看| 亚洲最大av无码网址| 亚洲AV无码专区国产乱码不卡| 1000部免费啪啪十八未年禁止观看| 亚洲中文字幕第一页在线| 国产亚洲精品仙踪林在线播放| 无码日韩人妻av一区免费| 久久精品国产亚洲77777| 9久热精品免费观看视频| 国产aa免费视频| 亚洲欧洲日产国码久在线| 亚洲精品免费网站| 亚洲天堂中文字幕| 在线观看特色大片免费网站| 国产国拍精品亚洲AV片| 一级毛片在播放免费| 免费在线观看a级毛片| 亚洲国产欧美国产综合一区| 在人线av无码免费高潮喷水| 亚洲校园春色小说| 久视频精品免费观看99| 亚洲一区影音先锋色资源| 久草免费手机视频| 亚洲av成人无码久久精品| 免费91最新地址永久入口 | 午夜国产羞羞视频免费网站|