diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2003-10-06 11:41:01 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2003-10-06 11:41:01 +0000 |
commit | 555aecb199b99db0142658c77dc5f6407568860e (patch) | |
tree | cb68888af4ab37bd26227366ad0555ceee602892 /qadevOOo/runner/stats/FileLogWriter.java | |
parent | f9e5442d1eb0b877e0707d94e80404c02c722fbb (diff) |
INTEGRATION: CWS qadev12 (1.1.2); FILE ADDED
2003/09/29 16:38:42 sg 1.1.2.1: #112259#NEW: initial version
Diffstat (limited to 'qadevOOo/runner/stats/FileLogWriter.java')
-rw-r--r-- | qadevOOo/runner/stats/FileLogWriter.java | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/qadevOOo/runner/stats/FileLogWriter.java b/qadevOOo/runner/stats/FileLogWriter.java new file mode 100644 index 000000000000..5fd9f40dd8c8 --- /dev/null +++ b/qadevOOo/runner/stats/FileLogWriter.java @@ -0,0 +1,166 @@ +/************************************************************************* + * + * $RCSfile: FileLogWriter.java,v $ + * + * $Revision: 1.2 $ + * + * last change:$Date: 2003-10-06 12:41:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +package stats; + +import java.io.FileWriter; +import java.io.IOException; +import share.LogWriter; + +import java.io.PrintWriter; +import java.io.OutputStreamWriter; +import java.text.DecimalFormat; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.Iterator; + +public class FileLogWriter extends PrintWriter implements LogWriter { + + + HashMap mFileWriters = null; + boolean logging = false; + share.DescEntry entry = null; + + public FileLogWriter() { + super(System.out); + Calendar cal = new GregorianCalendar(); + DecimalFormat dfmt = new DecimalFormat("00"); + super.println("LOG> Log started " + + dfmt.format(cal.get(Calendar.DAY_OF_MONTH)) + "." + + dfmt.format(cal.get(Calendar.MONTH)) + "." + + dfmt.format(cal.get(Calendar.YEAR)) + " - " + + dfmt.format(cal.get(Calendar.HOUR_OF_DAY)) + ":" + + dfmt.format(cal.get(Calendar.MINUTE)) + ":" + + dfmt.format(cal.get(Calendar.SECOND))); + super.flush(); + } + + public boolean initialize(share.DescEntry entry, boolean logging) { + this.logging = logging; + this.entry = entry; + return true; + } + + + public void addFileLog(String filePath){ + try{ + if(mFileWriters == null) + mFileWriters = new HashMap(); + mFileWriters.put(filePath, new FileWriter(filePath)); + }catch(IOException e ){ + e.printStackTrace(this); + } + } + + + public void removeFileLog(String filePath){ + if(filePath != null) + mFileWriters.remove(filePath); + } + + + public void println(String msg) { + share.Watcher ow = (share.Watcher) + entry.UserDefinedParams.get("Watcher"); + if (ow != null) { + ow.ping(); + } + if (logging) { + + // logoutput to console + super.println("LOG> "+msg); + super.flush(); + + //logoutput to file + if(mFileWriters != null && mFileWriters.size() > 0){ + try{ + FileWriter fw = null; + Iterator iter = mFileWriters.values().iterator(); + while(iter.hasNext()){ + fw = (FileWriter) iter.next(); + fw.write("LOG> " + msg + "\n"); + fw.flush(); + } + }catch(IOException e ){ + e.printStackTrace(this); + } + } + } + } + + public boolean summary(share.DescEntry entry) { + String header = "***** State for "+entry.longName+" ******"; + System.out.println(header); + if (entry.hasErrorMsg) { + System.out.println(entry.ErrorMsg); + System.out.println("Whole "+entry.EntryType+": "+entry.State); + } else { + System.out.println("Whole "+entry.EntryType+": "+entry.State); + } + for (int i=0;i<header.length();i++) { + System.out.print("*"); + } + System.out.println(""); + return true; + } + +} |