Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: combine logentries with Log::log4perl

by RonW (Parson)
on Sep 04, 2015 at 16:09 UTC ( #1141030=note: print w/replies, xml ) Need Help??


in reply to Re: combine logentries with Log::log4perl
in thread combine logentries with Log::log4perl

but I always wondered why most logging systems employ the rather primitive practice of appending a line to a text file, rather than writing the info to a database

Reliability. Appending is probably the safest way to write to a file. In fact, some file systems have a journaling feature - when enabled, block writes are first appended to an on-disk journal, then are written to their actual destination in the disk. Block write status is tracked in memory and fully written blocks are "shift"-ed off the head of the journal whenever the block at the head is fully written.

Also, having log files being (somewhat) human readable means fewer specialized tools are needed to analyze the logs when something does go very wrong.

  • Comment on Re^2: combine logentries with Log::log4perl

Replies are listed 'Best First'.
Re^3: combine logentries with Log::log4perl
by CountZero (Bishop) on Sep 04, 2015 at 19:17 UTC
    I think appending and even general writing to a database is quite reliable as well. The changes made to the databse files on disk probably go through the same or similar journallng routines as any other disk write.

    Personally I think this is just tradition nobody cared enough about to change yet.

    Actually, this may be one place where Windows is actually more modern than Linux c.s. Windows has a central repository where all kinds of system messages, erors, warnings, ... are kept, not only OS messages, but apps can write to that repository too and there is a simple admin tool ("Event viewer") that allows easy access to this information.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

    My blog: Imperial Deltronics
      Windows has a central repository where all kinds of system messages, erors, warnings, ... are kept, not only OS messages, but apps can write to that repository too

      Like syslogd ?

        Yes, indeed. I stand corrected. Somehow I always thought the syslog only had OS or kernel messages.

        Of course, that begs the question, why do most programs still use their own logging system?

        CountZero

        A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

        My blog: Imperial Deltronics

      Careful what you wish for. This MSWin feature sounds an awful lot like journald which itself is one of the very worst parts of systemd (and there's a lot of competition for that particular accolade).

      Give me a good, honest logfile in plain text any day of the week.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1141030]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2019-10-19 04:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?