#1
|
|||
|
|||
Log level for console vs. log file
Hi Kinook,
I have searched around in the forums to look for more information about how logging works and haven't found much concrete info about it. In general, i read these 2 links below and still a little confused. http://www.kinook.com/VisBuildPro/Ma...ildlogging.htm http://www.kinook.com/VisBuildPro/Ma...putuseropt.htm Last week i started to mess around with logging by minimizing the amount of logs produced by the console with /loglevel and succeeded. However the side effects of it were loosing the ability to log to file. I log file by passing LOGFILE macro to child bld scripts. Is there anywhere that specifically says, which loglevel will / will not log to file? Thanks. |
#2
|
|||
|
|||
#3
|
|||
|
|||
Thanks. I used the link above for /loglevel. But how can i achieve /loglevel vbldLogLevelWarning + but still able to log with vbldLogLevelDetailed to LOGFILE?
|
#4
|
|||
|
|||
Set Tools | Application Options | Logging (More) | Log level to Detailed and specify /loglevel 1 when calling visbuildcmd.
http://www.kinook.com/VisBuildPro/Ma...ingmoreopt.htm http://www.kinook.com/VisBuildPro/Manual/consoleapp.htm |
#5
|
|||
|
|||
Thanks Kinook. This works but it requires me to parse /logfile _filename_.
Code:
visbuildcmd Test.bld /loglevel 1 /logfile Test.log Code:
visbuildcmd Test.bld /loglevel 1 LOGFILE=%PROJDIR%\BuildLogs\%PROJROOT%.log |
#6
|
|||
|
|||
/logfile filename and LOGFILE=filename are equivalent. Both have the effect of defining a LOGFILE temporary macro which is available in the build.
http://www.kinook.com/VisBuildPro/Ma...ildlogging.htm http://www.kinook.com/VisBuildPro/Ma...stemmacros.htm |
#7
|
|||
|
|||
According to my tests, these 2 command lines gives different results:
Does not produce log file: Code:
c:\Builds\Source\BuildScripts>visbuildcmd Test.bld /mta /loglevel 0 /config VisBuildPro.config LOGFILE=%PROJROOT%.log /nologo 21-11-2014 14:23:32: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld' 21-11-2014 14:23:32: Building project step 'Project steps'... 21-11-2014 14:23:32: Building project step 'Log Message'... LOGFILE= 21-11-2014 14:23:32: Build successfully completed (elapsed = 00:00:00). Code:
c:\Builds\Source\BuildScripts>visbuildcmd Test.bld /mta /loglevel 0 /config VisBuildPro.config /LOGFILE %PROJROOT%.log /nologo 21-11-2014 14:24:28: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld' 21-11-2014 14:24:28: Building project step 'Project steps'... 21-11-2014 14:24:28: Building project step 'Log Message'... LOGFILE=c:\Builds\Source\BuildScripts\Test.log 21-11-2014 14:24:28: Build successfully completed (elapsed = 00:00:00). Code:
<?xml version='1.0' encoding='utf-8'?> <configuration> <option name='BuildFailureStepsOnCancel'>0</option> <option name='CaseSensitiveBuildRuleComparisons'>0</option> <option name='ConvertOutputDoubleQuotes'>0</option> <option name='DefaultScriptEngine'>VBScript</option> <option name='DelLogFileOnBuild'>0</option> <option name='DelTempMacrosAfterBuild'>1</option> <option name='DelTempMacrosOnRebuild'>0</option> <option name='EchoChainedConsoleOutput'>1</option> <option name='EnvVarsInSystemMacros'>1</option> <option name='EscapeSpecialCharactersInOutput'>1</option> <option name='FailBuildWhenDoneIfStepsFailed'>0</option> <option name='LogAllFailureStepOutput'>1</option> <option name='LogBuildRuleEval'>1</option> <option name='LogDefaultStepProperty'>0</option> <option name='LogFilename'></option> <option name='LogFormat'>Text</option> <option name='LogLevel'>3</option> <option name='PersistBuildStatus'>0</option> <option name='ReevaluateAllBuildRules'>0</option> <option name='SetProjectDirectory'>1</option> <option name='StripLogLinefeedChar'>0</option> <option name='TextLogSkippedSteps'>1</option> <option name='TextLogStepEvents'>1</option> <option name='TextLogStepNumbering'>0</option> </configuration> |
#8
|
|||
|
|||
You found a bug. If the /loglevel parameter was specified and /logfile was not, the LOGFILE=value parameter was ignored and the LOGFILE macro set to an empty string instead. This is fixed in the latest download (VisBuildCmd.exe 8.7.0.3 in Help | About after installing). Sorry for not noticing the issue when you first posted. Thanks.
|
#9
|
|||
|
|||
Thanks for the quickfix. I had it installed and it creates log files. Yay.
I have another question regarding the difference i see. The logfile is generated at the script directory, c:\Builds\Source\BuildScripts: Code:
c:\Builds\Source>visbuildcmd BuildScripts\Test.bld /mta /loglevel 0 /config BuildScripts\VisBuildPro.config LOGFILE=%PROJROOT%.log /nologo 24-11-2014 10:54:36: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld' 24-11-2014 10:54:36: Building project step 'Project steps'... 24-11-2014 10:54:36: Building project step 'Log Message'... LOGFILE=Test.log 24-11-2014 10:54:36: Build successfully completed (elapsed = 00:00:00). Code:
c:\Builds\Source>visbuildcmd BuildScripts\Test.bld /mta /loglevel 0 /config BuildScripts\VisBuildPro.config /LOGFILE %PROJROOT%.log /nologo 24-11-2014 10:55:12: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld' 24-11-2014 10:55:12: Building project step 'Project steps'... 24-11-2014 10:55:12: Building project step 'Log Message'... LOGFILE=c:\Builds\Source\Test.log 24-11-2014 10:55:12: Build successfully completed (elapsed = 00:00:00). Last edited by raistlin; 11-24-2014 at 05:26 AM. |
#10
|
|||
|
|||
True, they're not exactly equivalent. When LOGFILE=filename is used, the value provided is assigned to the macro value. When /logfile is used, it does convert relative paths (via the GetFullPathName API) as it also does for other file/path parameters (.bld filename, /configpath, etc.). It's probably best to specify an absolute path to remove any ambiguity (i.e., %PROJDIR% for the path of the .bld file, %~dp0 to use the calling command script's path, a hard-coded path, etc.).
|
#11
|
|||
|
|||
Roger that. Thanks alot for the support!
|
|
|