Sujet : Re: FileNotFoundError thrown due to file name in file, rather than file itself
De : roel (at) *nospam* roelschroeven.net (Roel Schroeven)
Groupes : comp.lang.pythonDate : 13. Nov 2024, 10:12:07
Autres entêtes
Message-ID : <mailman.104.1731489134.4695.python-list@python.org>
References : 1 2 3 4 5 6
User-Agent : Mozilla Thunderbird
Op 12/11/2024 om 20:10 schreef Left Right via Python-list:
I am not entirely convinced by NB2. I am, in fact, a sort of sysadmin
person and most of my programs write to a log file. The programs are
also moderately complex, so a single program might access a database,
query an LDAP server, send email etc., so potentially quite a lot can go
wrong. They are also not programs whose output I would pipe to another
command. What would be the advantage of logging to stderr? Quite apart
from that, I find having a log file a useful for debugging when I am
developing.
>
First, the problem with writing to files is that there is no way to
make these logs reliable. This is what I mean by saying these are
unreliable: since logs are designed to grow indefinitely, the natural
response to this design property is log rotation. But, it's
impossible to reliably rotate a log file. There's always a chance
that during the rotation some log entries will be written to the file
past the point of rotation, but prior to the point where the next logs
volume starts.
What I most often do is use one logfile per day, with the date in the filename. Then simply delete all files older than 7 days, or 30 days, or whatever is useful for the task at hand. Not only does that sidestep any issues with rotating logs, but I also find it's very useful to have the date in the filename.
Of course, if you only administer your own computer, and you have low
single digits programs to run, and their behavior doesn't change
frequently, and you don't care to drop some records every now and
then... it's OK to log to files directly from a program. But then you
aren't really in the sysadmin / infra / ops category, as you are more
of a hobby enthusiast.
I would not use my scheme for something released to a wider audience. For in-house software though, I like that I can easily put each application's logs next to its other data files, and that I don't have to figure out how to get the system's own log infrastructure to work is I want it to.
Finally, if you want your logs to go to a file, and currently, your
only option is stderr, your shell gives you a really, really simple
way of redirecting stderr to a file.
I feel this is the worst of both worlds. Now your program doesn't have any control over filename or log expiration, and neither does your system's logging infrastructure. You just get one indefinitely growing log file.
-- "You can fool some of the people all the time, and all of the people someof the time, but you cannot fool all of the people all of the time." -- Abraham Lincoln"You can fool too many of the people too much of the time." -- James Thurber
Date | Sujet | # | | Auteur |
11 Nov 24 | FileNotFoundError thrown due to file name in file, rather than file itself | 25 | | Loris Bennett |
11 Nov 24 |  Re: FileNotFoundError thrown due to file name in file, rather than file itself | 17 | | Left Right |
12 Nov 24 |   Re: FileNotFoundError thrown due to file name in file, rather than file itself | 16 | | Loris Bennett |
12 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 3 | | Left Right |
13 Nov 24 |     Re: FileNotFoundError thrown due to file name in file, rather than file itself | 2 | | Greg Ewing |
13 Nov 24 |      Re: FileNotFoundError thrown due to (Posting On Python-List Prohibited) | 1 | | Lawrence D'Oliveiro |
12 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Mats Wichmann |
12 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Chris Angelico |
13 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 2 | | Loris Bennett |
14 Nov 24 |     Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Barry |
13 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Roel Schroeven |
14 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Michael Torrie |
14 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Left Right |
14 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Chris Angelico |
13 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | D'Arcy Cain |
14 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Ethan Furman |
14 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 2 | | Michael Torrie |
14 Nov 24 |     Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Jon Ribbens |
11 Nov 24 |  Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | dieter.maurer |
11 Nov 24 |  Re: FileNotFoundError thrown due to (Posting On Python-List Prohibited) | 1 | | Lawrence D'Oliveiro |
12 Nov 24 |  Re: FileNotFoundError thrown due to file name in file, rather than file itself | 5 | | Chris Angelico |
12 Nov 24 |   Re: FileNotFoundError thrown due to file name in file, rather than file itself | 3 | | Loris Bennett |
13 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | dieter.maurer |
13 Nov 24 |    Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Kushal Kumaran |
12 Nov 24 |   Re: FileNotFoundError thrown due to file name in file, rather than file itself | 1 | | Loris Bennett |