avocado-framework / avocado

Avocado is a set of tools and libraries to help with automated testing. One can call it a test framework with benefits. Native tests are written in Python and they follow the unittest pattern, but any executable can serve as a test.
https://avocado-framework.github.io/
Other
342 stars 340 forks source link

Avocado global log file #5177

Open beraldoleal opened 2 years ago

beraldoleal commented 2 years ago

Is your feature request related to a problem? Please describe.

So far, Avocado was job-centric, where log messages are placed into ~/avocado/job-results/ per job. Those files are created at job time (when the Job() object is configured), and things like "self.job_log" are properly set.

Due to the new Avocado distributed and multi-components architecture, it would be nice to log things even before the job has started.

Describe the solution you'd like Now that we are using the 'avocado.*' namespace for our logs, one possible suggestion would be to use logging.handlers.SysLogHandler() as an additional handler. Regardless of our current configuration (where the streams are saved) a system-wide logger service (syslog/rsyslog) would be able to catch those streams.

Describe alternatives you've considered Another alternative is not using the SysLogHandler (or keep using it), but we pre-define a specific location and we need to care about the file creation outside of the job scope (i.e ~/avocado/log).

One solution doesn't invalidate the other.

Additional information See #5120, #4856

pevogam commented 2 years ago

The most viable option so far seems to be to just move this to /var/log/avocado (or ~/avocado/log is installed locally) skipping the syslog altogether since many of could quickly flood it with logging messages that might not be appropriate for system level logging and it could be harder to filter these out from each other for later debugging. In comparison, we could always do a later consultation with a known avocado-generic log file similarly to the avocado-generic config file we are all aware of.

beraldoleal commented 2 years ago

Since we are in Feature Freeze this week, moving this to the next sprint.