Issue 2551017
Created on 2018-12-31 13:51 by matt109, last changed 2025-01-20 00:19 by rouilj.
| Messages | |||
|---|---|---|---|
| msg6311 | Author: [hidden] (matt109) | Date: 2018-12-31 13:51 | |
Hi I am receiving an error when I am attempting to configure the new
logging with rotation. I have configured the settings as follows:
1) Added entry to config.ini: config = logs\logging.ini
2) Created the above file in my logs folder exactly as on the web page:
[loggers]
keys=roundup.http
[logger_roundup.http]
level=INFO
handlers=rotate_weblog
qualname=roundup.http
propagate=0
[handlers]
keys=rotate_weblog
[handler_rotate_weblog]
class=logging.handlers.RotatingFileHandler
args=('httpd.log','a', 512000, 2)
formatter=plain
[formatters]
keys=plain
[formatter_plain]
format=%(message)s
and am getting the following error on service startup. I am running on
windows.
The instance's SvcRun() method failed
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\win32\lib\win32serviceutil.py",
line 839, in SvcRun
self.SvcDoRun()
File
"C:\Python27\lib\site-packages\roundup\scripts\roundup_server.py", line
769, in SvcDoRun
self.server = config.get_server()
File
"C:\Python27\lib\site-packages\roundup\scripts\roundup_server.py", line
664, in get_server
for (name, home) in tracker_homes])
File "C:\Python27\lib\site-packages\roundup\instance.py", line 327, in
open
return Tracker(tracker_home, optimize=optimize)
File "C:\Python27\lib\site-packages\roundup\instance.py", line 57, in
__init__
self.config = configuration.CoreConfig(tracker_home)
File "C:\Python27\lib\site-packages\roundup\configuration.py", line
1571, in __init__
Config.__init__(self, home_dir, layout=SETTINGS, settings=settings)
File "C:\Python27\lib\site-packages\roundup\configuration.py", line
1178, in __init__
self.load(config_path)
File "C:\Python27\lib\site-packages\roundup\configuration.py", line
1635, in load
self.init_logging()
File "C:\Python27\lib\site-packages\roundup\configuration.py", line
1609, in init_logging
logging.config.fileConfig(_file)
File "C:\Python27\lib\logging\config.py", line 86, in fileConfig
_install_loggers(cp, handlers, disable_existing_loggers)
File "C:\Python27\lib\logging\config.py", line 190, in _install_loggers
llist.remove("root")
ValueError: list.remove(x): x not in list
%2: %3
If i comment out the line in the config.ini config = logs\logging.ini
then the service starts successfully.
|
|||
| msg6312 | Author: [hidden] (rouilj) | Date: 2018-12-31 19:43 | |
Hi Matt: In message <1546264300.26.0.619166655035.issue2551017@roundup.psfhosted.org>, Matt writes: >New submission from Matt: >Hi I am receiving an error when I am attempting to configure the new >logging with rotation. Have you tried with logging.ini configured but no -L on the command line? I.E. same config as #1 and #2 below but no -L on the command line. >I have configured the settings as follows: > >1) Added entry to config.ini: config = logs\logging.ini >2) Created the above file in my logs folder exactly as on the web page: > [...] >and am getting the following error on service startup. I am running on >windows. > >The instance's SvcRun() method failed >Traceback (most recent call last): > File "C:\Python27\lib\site-packages\win32\lib\win32serviceutil.py", >line 839, in SvcRun > self.SvcDoRun() > File > [...] > File "C:\Python27\lib\site-packages\roundup\configuration.py", line >1609, in init_logging > logging.config.fileConfig(_file) > File "C:\Python27\lib\logging\config.py", line 86, in fileConfig > _install_loggers(cp, handlers, disable_existing_loggers) > File "C:\Python27\lib\logging\config.py", line 190, in _install_loggers > llist.remove("root") >ValueError: list.remove(x): x not in list >%2: %3 > >If i comment out the line in the config.ini config = logs\logging.ini >then the service starts successfully. If it works without -L but with logging.ini configured, let me know bwcuse what I suggest below is unlikley to work. If it fails without -L, use the example below as your logging.ini. ==== [loggers] keys=root,roundup,roundup.http [logger_root] #DEBUG, INFO, WARNING, ERROR, CRITICAL #also for root only NOTSET (all) level=DEBUG handlers=basic [logger_roundup] #DEBUG, INFO, WARNING, ERROR, CRITICAL #also for root only NOTSET (all) level=DEBUG handlers=basic qualname=roundup propagate=0 [logger_roundup.http] level=INFO handlers=rotate_weblog qualname=roundup.http propagate=0 [handlers] keys=basic,rotate_weblog [handler_rotate_weblog] class=logging.handlers.RotatingFileHandler args=('httpd.log','a', 512000, 2) formatter=plain [handler_basic] class=StreamHandler args=(sys.stderr,) formatter=plain [formatters] keys=plain [formatter_plain] format=%(message)s ==== (Note I am writing this from memory, so it may need a little work.) This adds root and roundup logger. Since the traceback includes 'llist.remove("root")', supplying a root logger may fix it. Also since you are using roundup.http I wonder if a roundup logger is required as well to complete the heirarchy. Try running roundup by hand from a cmd window (not as a service) and see if it the modified logging.ini works. If it does, we probably need to change the basic handler to log to a rotating file or something rather than stderr. Let me know how this works. |
|||
| msg6321 | Author: [hidden] (matt109) | Date: 2019-01-28 10:49 | |
Hi John Sorry it has took me a while to reply... Adding the root section and associated handler directives, you suggested, allowed the service to start without error and the information continues to get logged to my roundup.log. However, there does not seem to be a roundup.http log? Although my main driver for this configuration change was to allow the roundup.log to be rotated... If i can be of any help with trying more settings out, please let me know. Thanks for your help. Matt.... |
|||
| msg6794 | Author: [hidden] (rouilj) | Date: 2019-11-03 23:07 | |
Hi Matt: I let this drop off my radar. Sorry about that. I just ran: python3 roundup/scripts/roundup_server.py -n 0.0.0.0 -p 9017 -L demo=demo on a linux box with the logging.ini in this ticket and I have an http.log file with: 172.25.1.34 - - [03/Nov/2019 18:02:15] "GET /demo HTTP/1.1" 301 - 172.25.1.34 - - [03/Nov/2019 23:02:16] "GET /demo/ HTTP/1.1" 500 - 172.25.1.34 - - [03/Nov/2019 18:02:17] "GET /favicon.ico HTTP/1.1" 200 - so I'm not quite sure what is happening for you. I'll see if I can scrounge up a windows server system. What windows version are you running? -- rouilj |
|||
| msg6795 | Author: [hidden] (rouilj) | Date: 2019-11-03 23:26 | |
Actually I may have an idea. Change:
[handler_basic]
class=StreamHandler
args=(sys.stderr,)
formatter=plain
to
[handler_basic]
class=logging.handlers.RotatingFileHandler
args=('demo.log', 'a', 512000, 2)
formatter=plain
I'll bet running as a service requires that nothing to to
stdout/stderr.
Also you probably want to drop:
[logger_roundup]
#DEBUG, INFO, WARNING, ERROR, CRITICAL
#also for root only NOTSET (all)
level=DEBUG
handlers=basic
qualname=roundup
propagate=0
to
[logger_roundup]
#DEBUG, INFO, WARNING, ERROR, CRITICAL
#also for root only NOTSET (all)
level=WARNING
handlers=basic
qualname=roundup
propagate=0
for production otherwise demo.log will be quite chatty.
|
|||
| msg8309 | Author: [hidden] (rouilj) | Date: 2025-01-20 00:19 | |
This has been abandoned AFAICT. On unix daemon mode changes the working directory to /. So Roundup can find the logging.ini file, but the files it tries to open ad relative to / after daemonization. I needed absolute paths for the filename in args. It doesn't match the issues Matt reported but.... Closing. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2025-01-20 00:19:32 | rouilj | set | status: new -> closed resolution: abandoned messages: + msg8309 |
| 2019-11-06 02:38:52 | rouilj | set | title: Error when configuring New -L (loghttpvialogger) option -> Error when configuring New -L (loghttpvialogger) option (on windows) |
| 2019-11-03 23:26:04 | rouilj | set | messages: + msg6795 |
| 2019-11-03 23:07:11 | rouilj | set | messages: + msg6794 |
| 2019-06-16 01:54:20 | rouilj | set | type: crash |
| 2019-01-28 10:49:51 | matt109 | set | messages: + msg6321 |
| 2018-12-31 19:43:34 | rouilj | set | nosy:
+ rouilj messages: + msg6312 |
| 2018-12-31 13:51:40 | matt109 | create | |