diff options
author | mharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-10-04 01:17:41 +0000 |
---|---|---|
committer | mharmsen <mharmsen@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2011-10-04 01:17:41 +0000 |
commit | a4682ceae6774956461edd03b2485bbacea445f4 (patch) | |
tree | 94c475a125441da63101738220ce3972cf37db61 /pki/base/common/src/com/netscape/cms/logging/LogEntry.java | |
parent | 0c775428675d2cb1be9551f84e6b741ca813f77e (diff) | |
download | pki-IPA_v2_RHEL_6_2_20111003.tar.gz pki-IPA_v2_RHEL_6_2_20111003.tar.xz pki-IPA_v2_RHEL_6_2_20111003.zip |
Bugzilla Bug #688225 - (dogtagIPAv2.1) TRACKER: of the Dogtag fixes for freeIPA 2.1IPA_v2_RHEL_6_2_20111003
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/tags/IPA_v2_RHEL_6_2_20111003@2252 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/common/src/com/netscape/cms/logging/LogEntry.java')
-rw-r--r-- | pki/base/common/src/com/netscape/cms/logging/LogEntry.java | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/pki/base/common/src/com/netscape/cms/logging/LogEntry.java b/pki/base/common/src/com/netscape/cms/logging/LogEntry.java new file mode 100644 index 000000000..cc64ea6f6 --- /dev/null +++ b/pki/base/common/src/com/netscape/cms/logging/LogEntry.java @@ -0,0 +1,136 @@ +// --- BEGIN COPYRIGHT BLOCK --- +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program 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 General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// (C) 2007 Red Hat, Inc. +// All rights reserved. +// --- END COPYRIGHT BLOCK --- +package com.netscape.cms.logging; + + +import java.io.*; +import java.util.*; +import java.text.*; +import com.netscape.certsrv.base.*; +import com.netscape.certsrv.logging.*; + + +/** + * A log entry of LogFile + * + * @version $Revision$, $Date$ + */ +public class LogEntry { + private String mEntry; + private String mLevel; + private String mSource; + private String mDetail; + private String mDate; + private String mTime; + private Vector mRow; + + private final String DATE_PATTERN = "dd/MMM/yyyy:HH:mm:ss z"; + + /** + * Constructor for a LogEntry. + * + */ + public LogEntry(String entry) throws ParseException { + mEntry = entry; + mRow = parse(); + } + + /** + * parse a log entry + * + * return a vector of the segments of the entry + */ + + public Vector parse() throws ParseException { + int x = mEntry.indexOf("["); + + if (x == -1) + throw new ParseException(mEntry, 0); + String temp = mEntry.substring(x + 1); + + x = temp.indexOf("]"); + if (x == -1) + throw new ParseException(mEntry, 0); + + String dateStr = temp.substring(0, x); + SimpleDateFormat format = new SimpleDateFormat(DATE_PATTERN); + Date date = format.parse(dateStr); + + mDate = DateFormat.getDateInstance().format(date); + mTime = DateFormat.getTimeInstance().format(date); + + temp = temp.substring(x + 2); + x = temp.indexOf("]"); + if (x == -1) + throw new ParseException(mEntry, 0); + mSource = temp.substring(1, x); + + temp = temp.substring(x + 2); + x = temp.indexOf("]"); + if (x == -1) + throw new ParseException(mEntry, 0); + mLevel = temp.substring(1, x); + + mDetail = temp.substring(x + 2); + + Vector row = new Vector(); + + row.addElement(mSource); + row.addElement(mLevel); + row.addElement(mDate); + row.addElement(mTime); + row.addElement(mDetail); + + //System.out.println(mSource +"," + mLevel +","+ mDate+","+mTime+","+mDetail); + return row; + + } + + public String getSource() { + return mSource; + } + + public String getLevel() { + return mLevel; + } + + public String getDetail() { + return mDetail; + } + + public String getDate() { + return mDate; + } + + public String getTime() { + return mTime; + } + + public Vector getRow() { + return mRow; + } + + public String getEntry() { + return mEntry; + } + + public void appendDetail(String msg) { + mDetail = mDetail + "\n" + msg; + mEntry = mEntry + "\n" + msg; + } +} |