[wpkg-users] [Bug 234] Additional command line parameters /noquiet /notify etc

Rainer Meier r.meier at wpkg.org
Mon Aug 29 10:25:03 CEST 2011


Hi Heiko,

On 29.08.2011 08:26, heiko.helmle at horiba.com wrote:
>  > MOD: Updated log file handling. Now there is no intermediate local log file
>  > created any more. Instead a log is kept in memory as long as the log file
>  > is not initialized. If anything goes wrong WPKG still tries to flush the
>  > logs at least to a log file in %TEMP%.
>  > This potentially increases efficiency and execution speed slightly.
>
> Does that mean there will be no log during WPKG-Processing - only at the end?
>
> Because if yes, this would make debugging a package a lot harder - I routinely
> look at the last log-line when a package is hanging or taking very long.

I guess you did not try it yet.
No. This does at no means say that the log file is kept in memory until WPKG 
finishes.

Let me explain a bit further.
WPKG first needs to do some initialization process (reading config.xml, reading 
XML files, parsing command line parameters etc.). The location and name of the 
log file is not known until a certain level of initialization has finished. Even 
worse in some cases when "[PROFILE]" is used within the log file name then WPKG 
even needs to know the profile(s) assigned to the host before it knows how the 
log file shall be named.

Until WPKG finishes all this initialization it does not know where to write the log.

Up to now WPKG was immediately creating a local log file in %TEMP%. As soon as 
all information was available it initialized the "real" log file and copied over 
all data from the local one. Usually it would contain log lines written during 
initialization.

If WPKG would have failed early in the initialization phase you would probably 
not see that on the server-side log but instead only within the log file in the 
local %TEMP% folder.

Writing a local log file and then (when all data is available) write a remote 
log file, re-open the old log file in read-only mode and copying over all log 
entries will take some time. To avoid this I've introduced a memory-buffer. WPKG 
will keep logs written during init process (when it does not yet know the target 
file location and name) into memory. As soon as this data is available it writes 
it to the real log file and starts to log exactly the same way as all earlier 
versions (immediate write to log file).

In case there is a failure during initialization WPKG will still try to write 
the log buffer to %TEMP% for traceability.

So for the user the change should be entirely transparent. But in most cases it 
will be more efficient as it will not create any temporary local log file in 
case everything goes well (normal execution case). So in 99.xx% of the cases 
where all goes fine it's more efficient.


br,
Rainer



More information about the wpkg-users mailing list