Question

Unfortunately, sometimes the only way to debug a program is by going through its long log files.

I searched for a decent log viewer for a while now, and haven't found a real solution. The only program that seemed to be most appropriate was Chainsaw with its Socket connector but after a few short uses the program proved to be buggy and unresponsive at best.

For my purposes, a log viewer should at least be able to mark log levels (for example with different colors) and perform easy filtering based on packages and free-text.

Is there any other (free) log viewer? I'm looking for anything that could work well with log4j.

Was it helpful?

Solution

You didn't mention an OS, so I'll mention this though it is only on Windows.

Bare Metal Software makes a product called BareTail that has a nice interface and works well. They have a free version with a startup nag screen, a licensed version with no nag, and a pro version with additional features. It has configurable highlighting based on matching lines against keywords.

They also have a BareGrep product too, which provides similar grep capabilities. Both are excellent and very stable and better than anything I've seen on Windows. I liked them so much I bought the bundle with both pro versions for $50.

OTHER TIPS

Just wanted to say that I've finally found a tool that I can get along with just fine...

It's called LogExpert (see http://www.log-expert.de/) and is free. Besides the usual tail function, it also has a filter and a search function - two crucial things that are missing from BareTail. And if you happen to want to customize the way it parses columns further, it's dead simple. Just implement an interface in .NET and you're done (and I'm a Java/Flex programmer...)

I'm using OtrosLogViewer. You can mark log events manually or using string/regular expression. You can filter events based on level, time thread, string or regular expression. Logs can be imported by listening on socket or connecting to Log4j SocketHubAppender

You can take a look at Youtube video or screenshots: Marked log events Class filter

Disclaimer: I am the author of OtrosLogViewer

I am using Notepad++ with my custom log file highlighting UDL. Looks like this:

enter image description here

You can try logFaces, it has fantastic real-time log viewer based on eclipse-like design.

alt text

Disclosure: I am the author of this product.

Consider to use Log4j viewer eclipse plugin - that was fork of Ganemede plugin in the begging and now have more features and stability was improved significantly, and still in active development and free :)

I've always used 'tail -f | grep re' or occasionaly 'awk'.

LogSaw based on Eclipse and free. Log4j log file analyzer, simple to use with easy filtering. Supports several flavors of log4j log files: JBoss, Log4j pattern layout, Log4j XML layout, WebSphere.

Works like a charm. After couple of hours googling and trying several recommended free log4j viewers, this one was pleasant surprise. Have tried Chainsaw, BareTail, Insight, LogExpert, logview4j.

It is released weeks ago, and I guess still builds its way up on google.

I've rolled out Splunk (http://www.splunk.com/) for log viewing and searching with great success. The free version can be used locally and the paid version can collect all your logs into one location. We use it mostly for Log4J logs but with lots of other formats as well.

Beyond tail and grep support (without needing to know grep...) it automatically indexes logs and allows easy analysis (e.g. # of events in last xx timeframe) as well as basic charting, alerting, and event aggregation.

I won't say that the app is perfect or that the company has matured yet. But I don't hesitate at all to recommend that you try it.

LogMX is a crossplatform tool that parses any log format from any source, then displays log entries with many features. By default, it handles formats like Log4j, LogFactor, syslog,... and can read from local file or SFTP, FTP, HTTP... but you can write your own pluggins if your format is another one or if your logs cannot be accessed through classical protocols.

You can monitor logs in realtime like 'tail' or load a whole log file and stop monitoring it.

www.logmx.com

I'll add that for Windows, WireShark makes for a handy syslog viewer, ironically enough. I've tried several other syslog tools, and really, Kiwi is the best for syslog out there, but the "free" version is a bit nerfed. Others I ran into were either poorly programmed (crashing on minor issues -- logview4net), had a poor interface (Star SysLog Daemon Lite), or didn't even run (nxlog)

You can use WireShark's filter language to drill down on log data. It's overkill, but until someone writes a free syslog viewer/collector for Windows and makes it decent, this is one field that will be a hard one for most people.

Example:

# Display level 6 alerts from 192.168.5.90 in WireShark
syslog.level == 6 && ip.addr == 192.168.5.90

Depending on what platform you are running on and what other log viewing tools you have available, you can just use the appropriate log4j appender (syslog, Windows Event Logger) and just use your platform log viewing tools.

Other than that I have usually seen custom solutions developed.

Something that will drive your solution is what your overall system is like. Are you trying to aggregate logs from several computers? Or just view the logs from a single remote process?

You may want to use a custom log viewer that just works on files. I like Kiwi Log Viewer or Ganymede (an Eclipse plugin), but it's not hard to put a simple Swing app together that reads from the socket.

Take a look to http://jlogviewer.sourceforge.net/ or http://sourceforge.net/projects/jlogviewer/ Java log viewer is lightweight GUI to easily view the java application logs generated by the "java.util.logging" package. It's open source!!

You can use MindTree Insight, it is open source, efficient, and specific for that use case : analyze log4j files.

I have written a custom tool for that: https://plus.google.com/u/0/102275357970232913798/posts/Fsu6qftH2ja

Alfa is a GUI tool for analyzing log files. Usually you are forced to search for data in them using editors. You open a log, press Ctrl-F and the "Next" button again and again, then reload the file as it was modified, and repeat the search. Alfa maps a log file to a database allowing you to use standard SQL queries to get data without any superfluous actions.

Another good log viewer is Lilith (http://sourceforge.net/projects/lilith/ and http://lilithapp.com/). It is open source and works well with Logback, log4j & java.util.logging.

Just published a node module for color highlighting log output log-color-highlight.

echo "this string" | lch -red.bold this -blue string

Works well on unix/linux/windows and supports config file for complex logging scenarios.

For windows I use it in combination with file-tail

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top