Kevin Hollingshead added the comment:
Thanks Vinay, I was able to do this with:
def namer(name):
return name.replace(".log", "") + ".log"
Then when initializing the logger:
handler.namer = namer
My full initializer script:
import os
import logging
from logging.handlers import TimedRotatingFileHandler
from config import constants
def namer(name):
return name.replace(".log", "") + ".log"
def init(baseFilename):
logPath = constants.LOGGING_DIR
envSuffix = '-prod' if constants.ENV == 'prod' else '-dev'
logFilename = os.path.join(logPath, baseFilename + envSuffix + '.log')
print(f"Logging to {logFilename}")
handler = TimedRotatingFileHandler(logFilename,
when = "midnight",
backupCount = 30,
encoding = 'utf8')
handler.setLevel(logging.DEBUG)
handler.suffix = "%Y%m%d"
handler.namer = namer
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s
[%(module)s:%(lineno)d]')
handler.setFormatter(formatter)
logging.basicConfig(
handlers = [handler],
format = '%(asctime)s %(levelname)s %(message)s
[%(module)s:%(lineno)d]',
level = logging.DEBUG,
datefmt = '%Y-%m-%d %H:%M:%S')
if __name__ == '__main__':
init('testing')
logging.error("ohai")
logging.debug("ohai debug")
logging.getLogger().handlers[0].doRollover()
logging.error("ohai next day")
logging.debug("ohai debug next day")
On Mon, Mar 1, 2021 at 8:13 AM Vinay Sajip wrote:
>
> Vinay Sajip added the comment:
>
> As per the documentation at
>
>
> https://docs.python.org/3/library/logging.handlers.html#logging.handlers.BaseRotatingHandler.namer
>
> You can set the handler's "namer" attribute to a callable that returns a
> computed name for the rotated file - this can be computed as per your
> requirements. The cookbook also has an entry about this:
>
>
> https://docs.python.org/3/howto/logging-cookbook.html#using-a-rotator-and-namer-to-customize-log-rotation-processing
>
> --
>
> ___
> Python tracker
> <https://bugs.python.org/issue43344>
> ___
>
--
___
Python tracker
<https://bugs.python.org/issue43344>
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com