logging.LogRecord asctime aattribute - easily override somehow?
__peter__ at web.de
Wed Mar 29 15:35:20 EDT 2017
Skip Montanaro wrote:
>>>> import logging
>>>> logging.basicConfig(format="%(asctime)s" + logging.BASIC_FORMAT,
>>>> datefmt="***%A***") logging.warn("foo")
> Thanks, Peter. I suppose a bit more detail of my environment would
> have helped. I'm actually using the logging package indirectly via
> Flask. After a quick skim of Flask's code, it didn't look like the
> Flask author considered that users might want to do their own thing
> with logging. I think I could override the Flask.logger property and
> chuck in something like your code. I'll just suffer for the time being
> with my "two word" timestamps.
$ cat hello.py
from flask import Flask
flask.logging.Formatter = functools.partial(
app = Flask(__name__)
return 'Hello, World!'
$ FLASK_APP=hello.py python -m flask run &
$ * Serving Flask app "hello"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
$ curl http://127.0.0.1:5000/
[Wednesday] CRITICAL in hello: test
127.0.0.1 - - [29/Mar/2017 21:26:38] "GET / HTTP/1.1" 200 -
> Whoever thought you'd want to break up
> timestamps into two words by default, and hard-code a comma as the
> separator between seconds and milliseconds?
In Germany the comma is the decimal separator, so this doesn't look like two
words to my eye. However, the culprit is
A decimal mark, either a comma or a dot (without any preference as stated in
resolution 10 of the 22nd General Conference CGPM in 2003, but with a
preference for a comma according to ISO 8601:2004) is used as a
separator between the time element and its fraction
> Just for the record, for my own standalone code I never use the
> logging module. I just have a simple Logger class which does all I
> need. The logging module (and log4j) have always seemed to me to be an
> overly general solution in search of a problem.
More information about the Python-list