LogEx plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 2: Line 2:


== Links ==
== Links ==
<attach>LogEx.zip
<attach>


== Description ==
== Description ==

Revision as of 01:22, 13 February 2007

Author: jpderuiter (talk, contrib)


Links

<attach>

Description

Version: 0.1.

LogEx is a logging plugin. It allows to append a string to a logfile and show this string in the status listbox and/or the status bar (like DetailPrint)

How To Use

The most practical way to use this plugin is disabling the PluginUnload. To do this call "SetPluginUnload alwaysoff" in all functions and sections where you use this plugin. ...

Init DLL Function

LogEx::Init /NOUNLOAD FileName
FileName
Log file name. The file will be opened with FILE_APPEND_DATA, so evt. old data will be left untouched.

Write DLL Function

LogEx::Write /NOUNLOAD LogString [bWriteToStatusList] [bWriteToStatusBar]
LogString
String to write to the logfile.
bWriteToStatusList
If equal to true, adds the string to the Status Listbox.
bWriteToStatusBar
If equal to true, adds the string to the Status Bar.

AddFile DLL Function

LogEx::AddFile /NOUNLOAD FileName Prefix [ReadFromLine] [ReadToLine]
FileName
File to add to the logfile.
Prefix
Prefix to add at the beginning of each new line.
ReadFromLine
Write from line <ReadFromLine> from the file to the logfile.
ReadToLine
Write to line <ReadToLine> from the file to the logfile.

Close DLL Function

LogEx::Close

Example

LogEx::Init /NOUNLOAD "$TEMP\log.txt"
LogEx::Write /NOUNLOAD "Write this line to the log file only"
LogEx::Write /NOUNLOAD "Write this line to the log file and the status list box" true
LogEx::Write /NOUNLOAD "Write this line to the log file, the status list box and the statusbar" true true
LogEx::Write /NOUNLOAD 'Write complete "dir" output to the log file with ">" as prefix'
ExecDos::exec 'cmd /C dir' "" "$TEMP\output.log"
LogEx::AddFile /NOUNLOAD "$TEMP\output.log" ">"
LogEx::Write /NOUNLOAD 'Write "dir" output from line3 to the log file'
ExecDos::exec 'cmd /C dir' "" "$TEMP\output.log"
LogEx::AddFile /NOUNLOAD "$TEMP\output.log" "" 3
LogEx::Write /NOUNLOAD 'Write "dir" output from line3 to line6 to the log file'
ExecDos::exec 'cmd /C dir' "" "$TEMP\output.log"
LogEx::AddFile /NOUNLOAD "$TEMP\output.log" "" 3 6
LogEx::Close
; Done

Output:

Write this line to the log file only
Write this line to the log file and the status list box
Write this line to the log file, the status list box and the statusbar
Write complete "dir" output to the log file with "   >" as prefix
   > Volume in drive C has no label.
   > Volume Serial Number is xxxx-xxxx
   > Directory of C:\
   >07-11-2006  18:06                 0 AUTOEXEC.BAT
   >07-11-2006  18:06                 0 CONFIG.SYS
   >01-02-2007  03:17    <DIR>          Documents and Settings
   >11-02-2007  13:50    <DIR>          Program Files
   >20-01-2007  09:06    <DIR>          SYSTEMTOOLS
   >07-02-2007  17:27    <DIR>          temp
   >12-02-2007  23:48    <DIR>          WINDOWS
   >               2 File(s)           78.807 bytes
   >               5 Dir(s)  33.130.020.864 bytes free
Write "dir" output from line3 to the log file with "   " as prefix
    Directory of C:\
   07-11-2006  18:06                 0 AUTOEXEC.BAT
   07-11-2006  18:06                 0 CONFIG.SYS
   01-02-2007  03:17    <DIR>          Documents and Settings
   11-02-2007  13:50    <DIR>          Program Files
   20-01-2007  09:06    <DIR>          SYSTEMTOOLS
   07-02-2007  17:27    <DIR>          temp
   12-02-2007  23:48    <DIR>          WINDOWS
                  2 File(s)           78.807 bytes
                  5 Dir(s)  33.130.020.864 bytes free
Write "dir" output from line3 to line6 to the log file with "   " as prefix
    Directory of C:\
   07-11-2006  18:06                 0 AUTOEXEC.BAT
   07-11-2006  18:06                 0 CONFIG.SYS
   01-02-2007  03:17    <DIR>          Documents and Settings

Notes

The LogEx::AddFile function is especially usefull in combination with execution of a console application (like ExecDos plug-in)

Version History

[version 0.1: 2007-02-12] Initial version.

JP de Ruiter