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.

Reply via email to