On 2020-05-29 09:52:07 -0700, [email protected] wrote: > In an effort to clean up my python logging practices when creating > libraries, I have begun reading into "Advanced Logging" and converting > my logging practices into logging configuration `.ini` files: > > [link](https://docs.python.org/3.4/howto/logging.html#configuring-logging) > > My question is: When defining a FileHandler in a `.ini` file, all of > the examples that I've seen hardcode the name and location of the log > file. In the code snippet below, `python.log` is hardcoded into the > `.ini` file:
This is a strange usage of the term "hardcoded", Normally, hardcoded
means that it is in the *code*, not a configuration file.
> ```
> [handler_hand02]
> class=FileHandler
> level=DEBUG
> formatter=form02
> args=('python.log', 'w')
> ```
> [code reference
> link](https://docs.python.org/3.4/library/logging.config.html#logging-config-fileformat)
>
> Desired Behavior:
> On each run of the program, a new logfile is created in the `logs/`
> directory named "<timestamp>_program.log".
>
> Current Behavior:
> The format in the example above overwrites a single file called
> "python.log" on each run, which is not the desired behavior.
>
> Question: Is there a standard procedure for using .ini files to create
> a new logfile prepended with the current Unix timestamp on each run of
> the program?
You would have to use a different class for that. I don't know one
offhand which implements the behaviour you want, but for example
TimedRotatingFileHandler switches log files after a configurable
interval. So for example
class=TimedRotatingFileHandler
when=H
would start a new log every hour (and rename the old log to contain a
timestamp).
You may need to write a handler which implements the behaviour you want.
Or maybe there is one on PyPi.
hp
--
_ | Peter J. Holzer | Story must make more sense than reality.
|_|_) | |
| | | [email protected] | -- Charles Stross, "Creative writing
__/ | http://www.hjp.at/ | challenge!"
signature.asc
Description: PGP signature
-- https://mail.python.org/mailman/listinfo/python-list
