= View the trac.log file via the web frontend = == Description == This plugin allows you to view your `trac.log` logfile without shell access to the server, just via the Web-UI Admin interface. You can select to only display messages from a specified log level (e.g. only warnings), optionally including higher levels. So if you select "Debug" and all higher levels, this means to display the entire log. Moreover, you may restrict the output to the latest N lines, and even filter for lines containing a specified string or even matching a regular expression. Be careful with large log files ;) == Bugs/Feature Requests == Existing bugs and feature requests for LogViewerPlugin are [report:9?COMPONENT=LogViewerPlugin here]. If you have any issues, create a [http://trac-hacks.org/newticket?component=LogViewerPlugin&owner=izzy new ticket]. == Download == Download the zipped source from [download:logviewerplugin here] (development version). You can also download the [attachment:LogViewerPlugin-0.2-py2.5.egg Python Egg] of the latest release from this page. == Source == You can check out LogViewerPlugin from [http://trac-hacks.org/svn/logviewerplugin here] using Subversion, or [source:logviewerplugin browse the source] with Trac. == Installation == The easiest way to install this plugin is: {{{ easy_install http://trac-hacks.org/svn/logviewerplugin/0.11/trunk }}} If you want to be very sure to get stable code, you can alternatively use the latest tag, replacing `/trunk` by e.g. `/tags/0.2` (for v0.2). You can also checkout the code from the repository, or download and unpack the zipped source (see above) - and then run either `easy_install` or `python setup.py` from where the `setup.py` file resides. Moreover, you will need to enable the plugin for your trac environment(s): {{{ [components] logviewer.* = enabled }}} There's no more configuration required. == Configuration == No - no kidding. I said there's no more configuration ''required'' - however, it is ''possible''. If you want the LogViewerPlugin to immediately load and show content from your log file without the need to first (fill some form and) push the button, you can do so. With the IniAdminPlugin installed, just call up the ''logviewer'' section, and it will explain you the details. For everybody else, the details are here: You need to introduce a new section to your `trac.ini` file. Using the default settings, it would look like this: {{{ [logviewer] autoload = false autotail = 1000 autolevel = 3 autoup = true }}} So what do those settings mean? Quite clear: `autoload` decides whether you want to turn this feature on (`true`) or not. By default, it is turned off. All the other `auto*` settings only apply if you set `autoload = true`. With the `autotail` setting you limit LogViewerPlugin to those many lines from the end of the file. Normally, 1000 lines will be enough - but if you want to show everything, simply set it to an empty value (as shown below for `defaultlevel`). Keep in mind that with a huge log file, the page will take some time to load - every time you call up LogViewerPlugin. So better keep this value to something reasonable, and do the unusual full display on demand only. `autolevel` specifies the log level to display, and `autoup` decides whether higher priority levels (i.e. those with lower numbers) shall be included. Note that this is a numeric value (integer, to be more precise) - and reaches from 1=critical to 5=debug (including 2=error, and 4=info), with a default of 3=warning. If you are not happy with the default presets of the form fields - you can change them for some of the fields: {{{ [logviewer] defaultlevel = 3 defaultup = true defaulttail = }}} The meaning of those three settings corresponds to the similarly named items from the autoload - with the difference that the values here only apply when autoload is disabled. == Usage == You find the ''Log Viewer'' on the ''Admin'' page in the ''General'' section (see [#Example below]). Having this page called, you select the log level you wish to see the entries for, using the drop-down. Optionally, you may chose to display all "higher priority" as well (where "higher" means the entries on top of the one you selected). Optionally, you now can further restrict the amount of lines displayed: The ''Tail'' input works similar to the `tail -f` command, only showing the last N lines. If you input nothing here, this restriction is skipped - but if you do, the following search will be limited to these lines. In the ''Search'' input box you can enter a term which must be found in a line to be displayed. You can also use regular expressions here, in which case you must check the corresponding button. If you additionally check the "not" button, that search will be inverted - i.e. only lines ''not'' containing/matching your search term will be shown. Oh, btw: hovering your mouse over the input areas will give you a short tooltip, in case you forgot these meanings ;) Once you made your selections, push the button - and the matching lines from the `trac.log` will be displayed. == Example == Hell, what example? OK: Here is what it may look like, having selected "Info and above": [[Image(logviewer.jpg)]] As you can see, the log lines are quite colorful: each log level has its distinct color assigned. If you don't like my choice of colors here, you can easily apply your own style sheets. All elements can be identified without problems: the different log levels use classes, and even the other elements of the GUI use classes and ids. Furthermore, in this example you might note that obviously nothing was logged at "Info" level - nevermind, it works. == User Comments == * olemis : This plugin is cool and very useful (especially to manage remote Trac instances ''';o)'''. Nonetheless, if you are debugging then you might like to try TracDeveloperPlugin too. * Your feedback here, please :-) Or if you don't want to write something yourself, use the poll below (you must be logged in to vote): [[Poll(Let others know what you think about the LogViewerPlugin:;I use it and I like it!;I use it and find it acceptable.;I tried it and didn't like it;I think it's great stuff and will give it a try!;I don't know what to think about it.)]] == Recent Changes == [[ChangeLog(logviewerplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:izzy] [[BR]] '''Contributors:'''