mod_log_json/README.markdown
changeset 3739 06b640473cda
child 3740 3784bbcbb8ff
equal deleted inserted replaced
3738:b8bd79c57040 3739:06b640473cda
       
     1 ---
       
     2 summary: JSON Log Sink
       
     3 ---
       
     4 
       
     5 Conifiguration
       
     6 ==============
       
     7 
       
     8 ``` {.lua}
       
     9 log = {
       
    10   -- your other log sinks
       
    11   info = "/var/log/prosody/prosody.log"
       
    12   -- add this:
       
    13   { to = "json", filename = "/var/log/prosody/prosody.json" };
       
    14 }
       
    15 ```
       
    16 
       
    17 Format
       
    18 ======
       
    19 
       
    20 JSON log files consist of a series of `\n`-separated JSON objects,
       
    21 suitable for mangling with tools like
       
    22 [`jq`](https://stedolan.github.io/jq/).
       
    23 
       
    24 ``` {.json}
       
    25 {"message":"Client connected","source":"c2s55f267f5b9d0","datetime":"2019-11-03T13:38:28Z","level":"info","args":[]}
       
    26 {"message":"load_roster: asked for: %s","source":"rostermanager","datetime":"2019-11-03T13:38:28Z","level":"debug","args":["user@example.net"]}
       
    27 ```
       
    28 
       
    29 `datetime`
       
    30 :   [XEP-0082]-formatted timestamp.
       
    31 
       
    32 `source`
       
    33 :   Log source, usually a module or a connected session.
       
    34 
       
    35 `level`
       
    36 :   `debug`, `info`, `warn` or `error`
       
    37 
       
    38 `message`
       
    39 :   The log message in `printf` format. Combine with `args` to get the
       
    40     final message.
       
    41 
       
    42 `args`
       
    43 :   Array of extra arguments, corresponding to `printf`-style `%s`
       
    44     formatting in the `message`.