fcorbelli / zpaqfranz

Deduplicating archiver with encryption and paranoid-level tests. Swiss army knife for the serious backup and disaster recovery manager. Ransomware neutralizer. Win/Linux/Unix
MIT License
279 stars 25 forks source link

question: error logging #124

Closed 8tpercent closed 1 month ago

8tpercent commented 2 months ago

After running an add job batch under windows zpaqfranz said there had been some errors.

Is there a way of getting the errors only written to a log file...

Eg -errorlog=errors.log Eg -output=output.log

Sorry if I've missed an already existing command...

fcorbelli commented 2 months ago

A good suggestion

fcorbelli commented 2 months ago

This evolution has taken quite a bit of work. However you can try the pre-release version, either directly from the binaries (if you use Windows 64) or from the source which I attach 60_7k.zip

Usage is

-errorlog something

Please let me know

Sanesecurity commented 2 months ago

Thanks for the update.

I've used the binary and tried to force a few odd errors...

I'm guessing as these are warnings, not errors that's why an error log isn't generated, until the last example...

Example 1: (using a bad x:: drive incorrect format)

zpaqfranz.exe -errorlog test.log add a.zpaq x::\sdfsdfsd

zpaqfranz v60.7k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(202 4-09-17) franz:-errorlog <>

QUIT: total size,file/folder count == zero. Already archived/wrong/inaccessible source? 0.015 seconds (00:00:00) (with warnings)

No test.log generated

example 2: (using longpath on UNC)

zpaqfranz.exe -longpath -errorlog test.log add a.zpaq "\server\storage\backups\thu_bck\system_offsite\vol2\reps\STOCKCHECK"

zpaqfranz v60.7k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(202 4-09-17) franz:-errorlog <> franz:-longpath INFO: getting Windows' long filenames Scanned 1 00:00:00 62 file/s ( WARNING: VERY LIMITED SUPPORT FOR UNC AND -LONGPATH

<<a.zpaq>>: 1 versions, 10 files, 12.350 bytes (12.06 KB)

QUIT: total size,file/folder count == zero. Already archived/wrong/inaccessible source? 0.031 seconds (00:00:00) (with warnings)

no error.log generated

example 3:

zpaqfranz.exe -longpath -errorlog test.log add a.zpaq "c:\pagefile.sys" zpaqfranz v60.7k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(202 4-09-17) franz:-errorlog <> franz:-longpath INFO: getting Windows' long filenames 01897! sorry, cannot get -longpath for this file <<c:/pagefile.sys>> -longpath is... for PATH, not FILE 0.032 seconds (00:00:00) (with warnings)

no error.log generated

example 4:

zpaqfranz.exe -errorlog test.log add a.zpaq "c:\pagefile.sys"

zpaqfranz v60.7k-JIT-GUI-L,HW BLAKE3,SHA1/2,SFX64 v55.1,(202 4-09-17) franz:-errorlog <>

<<a.zpaq>>: 4 versions, 12 files, 16.005 bytes (15.63 KB) Long filenames (>255) 2 WARNING (suggest -longpath or -fix255 or -flat) Scanned 1 00:00:00 62 file/s ( 3.087.0 Updating a.zpaq at offset 16.005 + 0 Add 2024-09-18 08:27:02 1 3.087.007.744 ( 2.88 GB) 4T (0 dirs) 00079! 16672: ERROR_SHARING_VIOLATION c:/pagefile.sys 0 +added, 0 -removed.

0.062 seconds (00:00:00) (with warnings)

I do get an error log:

00079! 16672: ERROR_SHARING_VIOLATION c:/pagefile.sys

Thanks again.

fcorbelli commented 2 months ago

The error logging functionality is easily customizable. Since there is a very large number of output messages, I have almost certainly made cataloging errors. Essentially, if you believe that an output message should be an error (or vice versa), you just need to use the -debug switch to identify the unique numeric code (five digits). At that point, either in the source code or by reporting the issue to me, you just need to add (or remove) the "!" and voilà, it becomes a logged error message, or not.

For example (using -debug) 1

mirogeorg commented 1 month ago

I In my opinion, the idea to add -outputlog output.log is a good one.

For example, you may want to see everything that ZPAQFRANZ displays on the screen while logging it at the same time. By using >, you lose the real-time output on the screen. So having a log is a great feature. I would use both options -errorlog and outputlog.

fcorbelli commented 1 month ago

-out is already here