pythonlinuxloggingenvironment-variables

Get the location of logfiles


I would like to have my (python) script (located anywhere) write a logfile and place that logfile in an appropriate location. In Linux:Debian this could be /var/log.

I was wondering if such a logfile location could be retrieved from the system? Is there an environment variable or something?


Solution

  • The typical way to log on Linux/UNIX is to use the system logger. From your application (or daemon) you call the syslog system function (see manpage).

    This function will forward your log to the system logger. From there, the system logger will take care of writing these log messages to a file. You can also then customize the behavior of the system logger to write some of your messages to a special file, or to ignore them.

    For a direct answer to your question, /var/log/ is defined by the FHS as the location where log files must be written to. No need to rely on an environment variable.