Skip to Content
Menu
This question has been flagged
2 Replies
10708 Views

I've got a configuration file saying "logfile=/var/log/odoo/odoo-server.log"

When running the Odoo server from the command line, I use this logfile via the "-c" parameter.

Additional parameters override the ones in the file, but how can I disable file logging? (and log to stdout/stderr instead)

"--logfile=None" and "--logfile=False" just creates a file named "None" and "False" respectively...

specifying a file that the Odoo user is not allowed to write to (so that it complains and falls back to standard output) seems dirty.

-----------------------------------------------------------------------------------------------------

UPDATE 09 March 2015: Sorry I can't comment on responses as I don't have enough "karma". Christoph so you have a config file that specifies a logfile and on the command line your --logfile=None disables it? Although a number of updates were made in that area - https://github.com/odoo/odoo/commits/8.0/openerp/tools/config.py - it still does not work as it should:

 

[ubuntu@odooci-danny-test-app] sudo: HOME=/opt/odoo /opt/odoo/odoo/openerp-server -c /etc/odoo/odoo-server.conf -u all -d MigrationTarget --logfile=None --stop-after-init

[ubuntu@odooci-danny-test-app] out: ERROR: couldn't create the logfile directory. Logging to the standard output.

-----------------------------------------------------------------------------------------------------

UPDATE 10 March 2015: This seems to be a real bug. See details in my report https://github.com/odoo/odoo/issues/3852

Avatar
Discard
Best Answer

For me it's working when adding

--logfile=None

to the commandline.

The code looks like it shoud work: https://github.com/odoo/odoo/blob/8.0/openerp/tools/config.py#L405

I didn't looked into the commits of the file but maybe it was changed in the last time.

 

 

Avatar
Discard
Best Answer

try starting openerp-server without -c, instead, name all important parameters same way as in config file... for example:
./openerp-server --db_user=db_user, --db_password=password --addons-path=/path/to/addons,/path/to/custom/addons .... 

don't mention logfile.. it will send output to console... once you get all arguments in place... 
just echo complete line to start_console file , make it executable and start using that comand line file :) 

This way you can have "normal" startup with config file, (as service ) and secondary startup with output to console

 

hope it helps

Avatar
Discard
Author

Thank you for your answer, Bole. I need this in an automated build where Jenkins needs to see the output of openerp-server "-u all --stop-after-init". There are lots of config parameters and the config file may have been adjusted, so for your approach I would have to parse and construct this one-liner on the fly. I think inserting a "#" in front of the logfile parameter line - and then removing it again - will be an easier workaround, though still a workaround. (I'd rather not touch the file) It seems this is an oversight. https://github.com/odoo/odoo/blob/8.0/openerp/tools/config.py#L386 looks like the strings 'None'/'False' are converted to boolean, but then the command line parameter overrides are taken as-is again. I've created a ticket: https://github.com/odoo/odoo/issues/3852