LogEx plug-in: Difference between revisions
From NSIS Wiki
Jump to navigationJump to search
Jpderuiter (talk | contribs) mNo edit summary |
Jpderuiter (talk | contribs) No edit summary |
||
Line 7: | Line 7: | ||
== Description == | == Description == | ||
'''Version:''' 0. | '''Version:''' 0.7. | ||
LogEx is a logging plugin. | LogEx is a logging plugin. | ||
Line 129: | Line 129: | ||
'''[version 0.6: 2008-11-28]''' | '''[version 0.6: 2008-11-28]''' | ||
- Added Unicode support | - Added Unicode support | ||
'''[version 0.7: 2008-12-30]''' | |||
- Now Unicode support is really working | |||
- Used new NSIS 2.42 API lib | |||
JP de Ruiter | JP de Ruiter |
Revision as of 12:19, 30 December 2008
Author: jpderuiter (talk, contrib) |
Links
LogEx.zip (67 KB)
LogEx thread on NSIS Discussion forum
Description
Version: 0.7.
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
Init DLL Function
LogEx::Init /NOUNLOAD [bTruncateFile] FileName
- bTruncateFile
- If true, truncate file, else append to existing file.
- FileName
- Log file name.
- NOTE: The Init function will not create a directory when the path does not exist
Write DLL Function
LogEx::Write /NOUNLOAD [bWriteToStatusList [bWriteToStatusBar]] LogString
- bWriteToStatusList
- If equal to true, adds the string to the Status Listbox.
- bWriteToStatusBar
- If equal to true, adds the string to the Status Bar.
- LogString
- String to write to the logfile.
AddFile DLL Function
LogEx::AddFile /NOUNLOAD [ReadFromLine [ReadToLine]] Prefix FileName
- ReadFromLine
- Write from line <ReadFromLine> from the file to the logfile.
- ReadToLine
- Write to line <ReadToLine> from the file to the logfile.
- Prefix
- Prefix to add at the beginning of each new line.
- FileName
- File to add 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 true "Write this line to the log file and the status list box" LogEx::Write /NOUNLOAD true true "Write this line to the log file, the status list box and the statusbar" ExecDos::exec 'cmd /C dir' "" "$TEMP\output.log" LogEx::Write /NOUNLOAD 'Write complete "dir" output to the log file with " >" as prefix' LogEx::AddFile /NOUNLOAD " >" "$TEMP\output.log" LogEx::Write /NOUNLOAD 'Write "dir" output from line3 to the log file with " " as prefix' LogEx::AddFile /NOUNLOAD 3 " " "$TEMP\output.log" LogEx::Write /NOUNLOAD 'Write "dir" output from line3 to line6 to the log file with " " as prefix' LogEx::AddFile /NOUNLOAD 3 6 " " "$TEMP\output.log" LogEx::Close ; Done
Output C:\Documents and Settings\Admin\Local Settings\Temp\output.log:
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.
[version 0.2: 2007-02-16]
- Fixed stack bug. - Added parameter "bTruncateFile" to Init function - Changed the way AddFile function reads the file (read the file at ones in a buffer allocated with VirtualAlloc) - Added comments in sourcecode
[version 0.3: 2007-02-16]
- Fixed bug in AddFile with empty file
[version 0.4: 2008-04-26]
- Removed newlines on ::Close
[version 0.5: 2008-10-08]
- Changed the Init function to open the log file in SHARE_READ mode
[version 0.6: 2008-11-28]
- Added Unicode support
[version 0.7: 2008-12-30] - Now Unicode support is really working - Used new NSIS 2.42 API lib
JP de Ruiter