It should be possible. Did you try it? What happened? On Sat, Sep 4, 2021 at 8:50 AM Doug Jenkins <[email protected]> wrote:
> Not to bring up old issues but, I am trying to format my logs. I read the > wiki attached to this thread and I have this configuration working in my > weewx.conf: > > # ===== LOGGING SETUP (Configured 09/04/2021) ===== > [Logging]] > [[root]] > handlers = rotate, > [[loggers]] > [[handlers]] > [[[rotate]]] > level = INFO > formatter = standard > class = logging.handlers.RotatingFileHandler > filename = /mnt/sandisk_512_ssd/weewx/logs/weewx.log > maxBytes = 1000000 > backupCount = 10 > # ===== END LOGGING SETUP ===== > > But I want to format the logging out using a custom formatter as such: > # ==== PROPOSED CHANGE TO MY WEEWX.CONF ===== > [Logging] > [[formatters]] > [[[ddj]]] > format = > '%(asctime)s [%(levelname)s] [%(threadName)s] [%(name)s : %(funcName)s] > %(message)s' > [[root]] > handlers = rotate, > [[loggers]] > [[handlers]] > [[[rotate]]] > level = INFO > formatter = ddj > class = logging.handlers.RotatingFileHandler > filename = /mnt/sandisk_512_ssd/weewx/logs/weewx.log > maxBytes = 1000000 > backupCount = 10 > # ===== END LOGGING SETUP ===== > > > I am running Weewx 4.5.1 on a Raspberry Pi using Raspbian O/S (32bit) > which is essentially Debian buster. > > Is there a way to express a formatter in the weewx.conf file so the > logging object will format the results for me? > > On Friday, August 21, 2020 at 3:27:49 PM UTC-4 [email protected] wrote: > >> Just like to say I updated to 4.x and just added >> >> [Logging] >> [[handlers]] >> [[[rotate]]] >> filename = /tmp/weewx.log >> >> To the top section of my weewx.conf file (after version) and it is >> WONDERFUL to finally have real log output from weewx. It's beautiful! I >> might cry for not having to stare at Console.app and hope for something. :) >> Thank you all for your continued efforts. >> On Sunday, May 3, 2020 at 4:54:13 AM UTC-7 [email protected] wrote: >> >>> I like your fix better. Added in commit 6348741 >>> <https://github.com/weewx/weewx/commit/6348741c64f55c5b2d34d9b9c70a5ed0b6d55c7f> >>> . >>> >>> I also made the rotating log handler the default for MacOS. >>> >>> One problem I've discovered: if you 'declare' a handler, then the >>> logging facility goes ahead and instantiates it, whether or not you >>> actually use it. That means the program crashes when it tries to create >>> /var/log/weewx.log unless its run with sudo privileges. >>> >>> So, for non-Mac systems, I took the handler back out, and put >>> instructions on how to declare it in the wiki documentation >>> <https://bit.ly/2StYSHb>. >>> >>> -tk >>> >>> >>> On Sun, May 3, 2020 at 12:11 AM Graham Eddy <[email protected]> wrote: >>> >>>> woops! i missed your reference to replacement weeutil/logger.py… >>>> putting that in place, it works fine on macos. >>>> it achieves the two things i was after: logs entries in a file (a basic >>>> function missing from weewx on macos for such a long time!), and allows >>>> customising message formats >>>> >>>> i have two critiques about this fix: >>>> >>>> (1) linux would want [syslog] handlers only but macos would want >>>> [rotate] for default. easiest is to default correctly for one in the code >>>> and override it in weewx.conf for the other (applied either by user or >>>> installation script). if both enabled, harmless (if not duplicating entries >>>> in one logfile on linux) but wasteful >>>> >>>> (2) shim approach is per- logging handler class only. would be pretty >>>> easy for python user to add another shim in user/extensions.py but… >>>> alternatively, do the string->int conversions e.g. add after line 130 in >>>> weeutil/logger.py “log_config['Logging'].walk(_fix)” something like: >>>> >>>> def _intify_string_leaf(section, key): >>>> >>>> if isinstance(section[key], str): >>>> # The value is a string... >>>> try: >>>> value = int(section[key]) >>>> except ValueError: >>>> pass >>>> else: >>>> # ... looks like an int, so make it one >>>> section[key] = value >>>> log_config['Logging'].walk(_intify_string_leaf) >>>> >>>> (this works.) conversely, intifying all leaves could have unintended >>>> consequences... >>>> >>>> thanks for all that! cheers >>>> >>>> On 3 May 2020, at 5:07 am, Tom Keffer <[email protected]> wrote: >>>> >>>> Try this version of weeutil/logger.py. It includes a shim that does the >>>> proper type conversion before passing on arguments to >>>> logging.handlers.RotatingFileHandler. >>>> >>>> To use should be as simple as adding this to weewx.conf (alas, NOT >>>> TESTED): >>>> >>>> [Logging] >>>> [[loggers]] >>>> [[[root]]] >>>> handlers = syslog, rotate >>>> [[handlers]] >>>> [[[rotate]]] >>>> filename = /tmp/weewx.log >>>> >>>> By default, it logs to /var/log/weewx.log. Hence, the need to override >>>> that option if you want to log to /tmp/weewx.log. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "weewx-user" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/weewx-user/AB7F41D1-FD08-400D-B80A-01E53BD42D5A%40gmail.com >>>> <https://groups.google.com/d/msgid/weewx-user/AB7F41D1-FD08-400D-B80A-01E53BD42D5A%40gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- > You received this message because you are subscribed to the Google Groups > "weewx-user" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/weewx-user/819f1a6c-2ae0-4861-a5c1-726512243c5an%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/819f1a6c-2ae0-4861-a5c1-726512243c5an%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/CAPq0zEBPH6ydKPgBRKOFzp_FhsZ0A4HHMW6VU_9uzjkh9N-fAw%40mail.gmail.com.
