Chainsaw can automatically build a Chainsaw config file from fileappender
entries in a log4j appender config file (both log4j.xml and log4j.properties
formats)...

By the way, I assume you can get sftp processing to work fine now as well,
since it looks like you just had incorrect slashes in your URL?

The code that parses the log4j.xml config is a little case sensitive, so
modify your appender to have the 'file' param lowercase and save it - I'll
commit a fix for this.  Chainsaw doesn't know what catalina base is, so you
should temporarily replace the catalina.base system property with a path:
    <param name="file" value="/path/to/logs/mylog.log" />

Then in Chainsaw:
1. use the file-load chainsaw configuration menu item
2. Choose the (default) Use fileappender entries from a log4j config file
3. Click 'open file' and browse to your log4j xml configuration file and
select it
4. Click the 'save configuration as' button and save this configuration with
a file name (it will generate an xml configuration file, so save with an
.xml extension)
5. Click the 'always start Chainsaw with this configuration' (if you'd like)

Chainsaw should parse the conversion pattern and create a
VFSLogFilePatternReceiver configuration that will parse the fields in your
log file.

Don't forget to un-do your temporary changes to your log4j xml config file.
This same process would work for remote config files, you would just need to
change the resulting fileURL in the chainsaw config file to be an sftp://
URL.

Hope that helps..

Scott


On Fri, Jul 22, 2011 at 8:29 AM, Ding, Qin <qin.d...@jpmchase.com> wrote:

> Thank you Jake.
>
> Now with my file in C:/MyDocs/logs/mylog.log is loaded, it displays
> everything in Message column without splitting into different columns.
>
> On log4j event generating side, I have
>
> <appender name="DRFA" class="org.apache.log4j.DailyRollingFileAppender">
>     <param name="File" value="${catalina.base}/logs/mylog.log" />
>     <param name="Append" value="true" />
>     <layout class="org.apache.log4j.PatternLayout">
>         <param name="ConversionPattern"
>                value="[%d{ISO8601}] %-5p %t (%F:%M:%L)  -%m%n " />
>     </layout>
> </appender>
>
> On log4j receiving side: my receiver's logFormat is [TIMESTAMP] LEVEL
> THREAD (FILE:METHOD:LINE)  -MESSAGE
>
> I don't know what the filterExpression and customerLevelDefinitions are; so
> I keep them empty.
>
> How can I make the chainsaw parse mylog.log correctly into different
> columns?
>
> QD
>
>
> -----Original Message-----
> From: Jacob Kjome [mailto:h...@visi.com]
> Sent: Friday, July 22, 2011 9:00 AM
> To: Log4J Users List
> Subject: Re: Help Log4j Chainsaw - VFSLogFilePatternReceiver Usage
>
>
> The file isn't going to be loaded, nor written to, using an invalid URL
> with
> backslashes in it.  Use all forward slashes.  You have...
>
> "file:///C:\MyDocs\logs\mylog.log"
>
> It should be....
>
> "file:///C:/MyDocs/logs/mylog.log"
>
> Or, simply...
>
> "file:/C:/MyDocs/logs/mylog.log"
>
>
> Jake
>
> On Thu, 21 Jul 2011 17:51:26 -0400
>  "Ding, Qin" <qin.d...@jpmchase.com> wrote:
> > Scott:
> >
> > 1. I manually downloaded mylog.log; and define a logfilePatternReceiver
> >within chainsaw. Pointing to mylog.log. after that, it just sits there, I
> see
> >nothing.  The last entry in the detail panel: setValueAt, 2, 1,
> >value=file:///C:\MyDocs\logs\mylog.log, valueClassclass java.lang.String
> >
> > 2. I copied the provided configuration file and modified the
> >VFSLogFilePatternReceiver and put it in a folder.  Use the instruction you
> >gave me to load it.  But on the receiver panel I did not see anything.
> > Manually define a VFSLogFilePatternReceiver.  Don't see the GUI prompt
> for
> >id/pwd.
> >
> > Would you please give me a detailed the instruction or your working
> sample
> >configuration file?
> >
> > Thank you
> >
> > QD
> >
> > -----Original Message-----
> >From: Scott Deboy [mailto:scott.de...@gmail.com]
> > Sent: Thursday, July 21, 2011 1:36 PM
> > To: Log4J Users List
> > Subject: Re: Help Log4j Chainsaw - VFSLogFilePatternReceiver Usage
> >
> > Chainsaw settings are stored in $userhome/.chainsaw - in that folder has
> a
> > chainsaw-settings.xml file that is used to store application-wide
> > preferences.  Here is how you can get the 'configurationURL' field to be
> set
> > in that file via the GUI:
> >
> > Use the file-load Chainsaw configuration menu option, then select 'use a
> > chainsaw config file' and browse to it, then check the 'always start
> > chainsaw with this configuration' check box.
> >
> > Scott
> >
> >
> > On Thu, Jul 21, 2011 at 11:29 AM, Ding, Qin <qin.d...@jpmchase.com>
> wrote:
> >
> >> Scott, I already tried by removing the id/pwd and then set true to the
> >> promptforuserinfo. However, I don't see the GUI. After restarting the
> app, I
> >> still don't see the GUI. I think this issue might be related to the
> >> following problem:
> >>
> >> How does the app pick up receiver config file in my case log4j.xml?
> >>  Yesterday, I have a log4j.xml file defined and placed it in the
> chainsaw
> >> folder.  Today, after I download the new chainsaw and started the app, I
> >> didn't tell the app where to look for the log4j.xml, but it seems find
> it
> >> from the location (old chainsaw) I defined yesterday.  I redefined a new
> >> log4j.xml and place it under the new chainsaw folder. In
> application-wide
> >> preference, I remove the old log4j.xml and use the new log4j.xml.  After
> I
> >> restarted the app, the log4j.xml in use is still the old one.
> >>
> >> I will remove the old the application including the log4j.xml.
> >>
> >> QD
> >>
> >> -----Original Message-----
> >> From: Scott Deboy [mailto:scott.de...@gmail.com]
> >> Sent: Thursday, July 21, 2011 1:14 PM
> >> To: Log4J Users List
> >> Subject: Re: Help Log4j Chainsaw - VFSLogFilePatternReceiver Usage
> >>
> >> Try this: set promptforuserinfo to 'true' and take your username and
> >> password out of the sftp URL.  You will get a GUI username/password
> >> prompt..maybe something with special characters in your password?
> >>
> >> <?xml version="1.0" encoding="UTF-8"?>
> >> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/";
> >> debug="true">
> >>    <plugin class="org.apache.log4j.
> >> chainsaw.vfs.VFSLogFilePatternReceiver" name="sftp">
> >>        <param name="appendNonMatches" value="true"/>
> >>        <param name="autoReconnect" value="true"/>
> >>        <param name="fileURL"
> >> value="sftp://192.168.1.144/pathhere/log.txt<
> >> http://username:userpass@192.168.1.144/pathhere/log.txt>
> >> "/>
> >>        <param name="logFormat" value="TIMESTAMP PROP(OUTERLEVEL)
> >> PROP(OUTERLOGGER)- * [THREAD] LEVEL LOGGER - MESSAGE"/>
> >>        <param name="name" value="sftp"/>
> >>        <param name="promptForUserInfo" value="true"/>
> >>
> >>        <param name="tailing" value="true"/>
> >>        <param name="timestampFormat" value="yyyyMMdd HH:mm:ss.SSS"/>
> >>        <param name="waitMillis" value="2000"/>
> >>    </plugin>
> >> </log4j:configuration>
> >>
> >> Scott
> >>
> >>
> >> On Thu, Jul 21, 2011 at 10:58 AM, Ding, Qin <qin.d...@jpmchase.com>
> wrote:
> >>
> >> > Thank you, Scott.  but I get use FileZilla sftp SSH File Transfer
> >> Protocol
> >> > to get file.  Use I guess I have to view the static file manually
> >> > downloaded.
> >> >
> >> > Thank you very much.
> >> >
> >> > QD
> >> >
> >> >
> >> > -----Original Message-----
> >> > From: Scott Deboy [mailto:scott.de...@gmail.com]
> >> > Sent: Thursday, July 21, 2011 11:36 AM
> >> > To: Log4J Users List
> >> > Subject: Re: Help Log4j Chainsaw - VFSLogFilePatternReceiver Usage
> >> >
> >> > If you are still having problems, the issue may be with your server.
> >> > VFSLogFilePatternReceiver uses Jakarta Commons VFS, which uses the
> JSch
> >> > library to support the 'sftp' protocol.  According to their website,
> this
> >> > is:
> >> > *SSH File Transfer Protocol(version 0, 1, 2, 3)
> >> >
> >> > *I'd suggest verifying your server actually supports SFTP.  It may
> >> support
> >> > ssh connections but not support the SSH File Transfer Protocol.
> >> >
> >> > Scott
> >> >
> >> > On Thu, Jul 21, 2011 at 9:13 AM, Scott Deboy <scott.de...@gmail.com>
> >> > wrote:
> >> >
> >> > > Here is a configuration I just used to retrieve a log file from my
> Mac
> >> > > using the latest developer snapshot of Chainsaw V2 running on Vista.
>  I
> >> > > don't have a known hosts file (or .ssh folder) on my vista box in my
> >> home
> >> > > folder or under cygwin home.
> >> > >
> >> > > Modify this configuration and let me know if it works for you.
> >> > >
> >> > > The two differences I notice here:
> >> > > 1. I was using an IP address and not a name that needed to be
> resolved
> >> > > 2. I only have a single slash after the IP address
> >> > >
> >> > > Change logFormat, timestampFormat and the specifics of fileURL as
> >> needed
> >> > of
> >> > > course:
> >> > >
> >> > > <?xml version="1.0" encoding="UTF-8"?>
> >> > > <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/";
> >> > > debug="true">
> >> > >     <plugin
> >> > class="org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver"
> >> > > name="sftp">
> >> > >         <param name="appendNonMatches" value="true"/>
> >> > >         <param name="autoReconnect" value="true"/>
> >> > >         <param name="fileURL" value="sftp://
> >> > > username:userpass@192.168.1.144/pathhere/log.txt"/>
> >> > >         <param name="logFormat" value="TIMESTAMP PROP(OUTERLEVEL)
> >> > > PROP(OUTERLOGGER)- * [THREAD] LEVEL LOGGER - MESSAGE"/>
> >> > >         <param name="name" value="sftp"/>
> >> > >         <param name="promptForUserInfo" value="false"/>
> >> > >
> >> > >         <param name="tailing" value="true"/>
> >> > >         <param name="timestampFormat" value="yyyyMMdd
> HH:mm:ss.SSS"/>
> >> > >         <param name="waitMillis" value="2000"/>
> >> > >     </plugin>
> >> > > </log4j:configuration>
> >> > >
> >> > >
> >> > > Scott
> >> > >
> >> > >
> >> > > On Thu, Jul 21, 2011 at 6:51 AM, Ding, Qin <qin.d...@jpmchase.com>
> >> > wrote:
> >> > >
> >> > >> Scott,
> >> > >>
> >> > >> I downloaded new chainsaw and run it.  Still I could not get the
> log
> >> > file.
> >> > >>  Here is the exception trace:
> >> > >>
> >> > >> Level
> >> > >> INFO
> >> > >> Logger
> >> > >> org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver
> >> > >> Time
> >> > >> 2011-07-21 08:43:16,361 (ms delta: 328)
> >> > >> Thread
> >> > >> Thread-3
> >> > >> Message
> >> > >> sftp://
> >> username:passw...@xxx.yyy.net/complete/path/to/logs/MyLog.lognot
> >> > >> available - may be due to incorrect credentials, but will
> re-attempt
> >> to
> >> > load
> >> > >> after waiting 10000 millis
> >> > >> Marker
> >> > >>
> >> > >> Throwable
> >> > >> org.apache.commons.vfs.FileSystemException: Could not connect to
> SFTP
> >> > >> server at "sftp://myId:my...@xxx.yyy.net/";.
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:99)
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:81)
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.provider.AbstractOriginatingFileProvider.findFile(AbstractOriginatingFileProvider.java:62)
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:641)
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.impl.DefaultFileSystemManager.resolveFile(DefaultFileSystemManager.java:582)
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver$VFSReader.run(VFSLogFilePatternReceiver.java:358)
> >> > >>        at java.lang.Thread.run(Unknown Source)
> >> > >> Caused by: org.apache.commons.vfs.FileSystemException: Could not
> >> connect
> >> > >> to SFTP server at "xxx.yyy.net".
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:214)
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.provider.sftp.SftpFileProvider.doCreateFileSystem(SftpFileProvider.java:90)
> >> > >>        ... 6 more
> >> > >> Caused by: com.jcraft.jsch.JSchException: Auth cancel
> >> > >>        at com.jcraft.jsch.Session.connect(Session.java:451)
> >> > >>        at com.jcraft.jsch.Session.connect(Session.java:150)
> >> > >>        at
> >> > >>
> >> >
> >>
> org.apache.commons.vfs.provider.sftp.SftpClientFactory.createConnection(SftpClientFactory.java:210)
> >> > >>        ... 7 more
> >> > >>
> >> > >> I use both Putty and FileZilla to get MyLog.log.  Credential is
> good.
> >> > >>
> >> > >> Thank you for helping me.
> >> > >>
> >> > >> QD
> >> > >>
> >> > >> -----Original Message-----
> >> > >> From: Scott Deboy [mailto:scott.de...@gmail.com]
> >> > >> Sent: Wednesday, July 20, 2011 3:10 PM
> >> > >> To: Log4J Users List
> >> > >> Subject: Re: Help Log4j Chainsaw - VFSLogFilePatternReceiver Usage
> >> > >>
> >> > >> Are you using the latest developer snapshot of Chainsaw, available
> >> here?
> >> > >>
> >> > >> http://people.apache.org/~sdeboy
> >> > >>
> >> > >> If not, please try it and follow-up with your results.
> >> > >>
> >> > >> Thanks
> >> > >>
> >> > >> Scott
> >> > >>
> >> > >> On Wed, Jul 20, 2011 at 12:18 PM, Ding, Qin <qin.d...@jpmchase.com
> >
> >> > >> wrote:
> >> > >>
> >> > >> > I am trying to view the log4j log using
> >> > >> > VFSLogFilePatternReceiverNoUserInfoPrompt.
> >> > >> >
> >> > >> > Here is my log4j.xml:
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > <plugin name="VFSLogFilePatternReceiverNoUserInfoPrompt"
> >> > >> > class="org.apache.log4j.chainsaw.vfs.VFSLogFilePatternReceiver">
> >> > >> >
> >> > >> >     <param name="fileURL" value="sftp://
> >> > >> >
> myid:my...@serverhost.xxx.yy.net//complete/path/to/logs/mylog.log
> >> "/>
> >> > >> >
> >> > >> >     <param name="timestampFormat" value="yyyy-MM-dd
> HH:mm:ss,SSS"/>
> >> > >> >
> >> > >> >     <param name="logFormat" value="[TIMESTAMP] LEVEL THREAD
> >> > >> > (FILE:METHOD:LINE) -MESSAGE"/>
> >> > >> >
> >> > >> >     <param name="name" value="VFSLogFilePatternReceiver"/>
> >> > >> >
> >> > >> >     <param name="tailing" value="true"/>
> >> > >> >
> >> > >> >   </plugin>
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > Start the chainsaw with this log4j.xml. Get the following msg:
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > attempting to load file: sftp://
> >> > >> >
> myid:my...@serverhost.xxx.yy.net//complete/path/to/logs/mylog.log
> >> > >> >
> >> > >> > file not available - will try again in 10 seconds
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > The file is there at the remote site, I can sftp to it.  Why can
> >> > >> chainsaw
> >> > >> > find it?
> >> > >> >
> >> > >> > I tried the following with or without port number:
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > <param name="fileURL" value="sftp://
> >> > >> > myid:my...@serverhost.xxx.yy.net/complete/path/to/logs/mylog.log
> "/>
> >> > >> >
> >> > >> > <param name="fileURL" value="sftp://
> >> > >> >
> myid:my...@serverhost.xxx.yy.net//complete/path/to/logs/mylog.log
> >> "/>
> >> > >> >
> >> > >> > <param name="fileURL" value="sftp://
> >> > >> >
> myid:my...@serverhost.xxx.yy.net///complete/path/to/logs/mylog.log
> >> "/>
> >> > >> >
> >> > >> > <param name="fileURL" value="sftp://
> >> > >> >
> myid:my...@serverhost.xxx.yy.net////complete/path/to/logs/mylog.log
> >> > "/>
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > None of these work. I saw someone suggest to create a .ssh folder
> >> > under
> >> > >> > user home and create a known_hosts file with the host name it.  I
> >> did
> >> > >> that
> >> > >> > without help.
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > Please help. Thank you.
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > QD
> >> > >> >
> >> > >> >
> >> > >> >
> >> > >> > This communication is for informational purposes only. It is not
> >> > >> > intended as an offer or solicitation for the purchase or sale of
> >> > >> > any financial instrument or as an official confirmation of any
> >> > >> > transaction. All market prices, data and other information are
> not
> >> > >> > warranted as to completeness or accuracy and are subject to
> change
> >> > >> > without notice. Any comments or statements made herein do not
> >> > >> > necessarily reflect those of JPMorgan Chase & Co., its
> subsidiaries
> >> > >> > and affiliates.
> >> > >> >
> >> > >> > This transmission may contain information that is privileged,
> >> > >> > confidential, legally privileged, and/or exempt from disclosure
> >> > >> > under applicable law. If you are not the intended recipient, you
> >> > >> > are hereby notified that any disclosure, copying, distribution,
> or
> >> > >> > use of the information contained herein (including any reliance
> >> > >> > thereon) is STRICTLY PROHIBITED. Although this transmission and
> any
> >> > >> > attachments are believed to be free of any virus or other defect
> >> > >> > that might affect any computer system into which it is received
> and
> >> > >> > opened, it is the responsibility of the recipient to ensure that
> it
> >> > >> > is virus free and no responsibility is accepted by JPMorgan Chase
> &
> >> > >> > Co., its subsidiaries and affiliates, as applicable, for any loss
> >> > >> > or damage arising in any way from its use. If you received this
> >> > >> > transmission in error, please immediately contact the sender and
> >> > >> > destroy the material in its entirety, whether in electronic or
> hard
> >> > >> > copy format. Thank you.
> >> > >> >
> >> > >> > Please refer to http://www.jpmorgan.com/pages/disclosures for
> >> > >> > disclosures relating to European legal entities.
> >> > >>
> >> > >>
> ---------------------------------------------------------------------
> >> > >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >> > >> For additional commands, e-mail:
> log4j-user-h...@logging.apache.org
> >> > >>
> >> > >>
> >> > >
> >> > This communication is for informational purposes only. It is not
> >> > intended as an offer or solicitation for the purchase or sale of
> >> > any financial instrument or as an official confirmation of any
> >> > transaction. All market prices, data and other information are not
> >> > warranted as to completeness or accuracy and are subject to change
> >> > without notice. Any comments or statements made herein do not
> >> > necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
> >> > and affiliates.
> >> >
> >> > This transmission may contain information that is privileged,
> >> > confidential, legally privileged, and/or exempt from disclosure
> >> > under applicable law. If you are not the intended recipient, you
> >> > are hereby notified that any disclosure, copying, distribution, or
> >> > use of the information contained herein (including any reliance
> >> > thereon) is STRICTLY PROHIBITED. Although this transmission and any
> >> > attachments are believed to be free of any virus or other defect
> >> > that might affect any computer system into which it is received and
> >> > opened, it is the responsibility of the recipient to ensure that it
> >> > is virus free and no responsibility is accepted by JPMorgan Chase &
> >> > Co., its subsidiaries and affiliates, as applicable, for any loss
> >> > or damage arising in any way from its use. If you received this
> >> > transmission in error, please immediately contact the sender and
> >> > destroy the material in its entirety, whether in electronic or hard
> >> > copy format. Thank you.
> >> >
> >> > Please refer to http://www.jpmorgan.com/pages/disclosures for
> >> > disclosures relating to European legal entities.
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >> > For additional commands, e-mail: log4j-user-h...@logging.apache.org
> >> >
> >> >
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >> For additional commands, e-mail: log4j-user-h...@logging.apache.org
> >>
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> >For additional commands, e-mail: log4j-user-h...@logging.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-user-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-user-h...@logging.apache.org
>
>

Reply via email to