summary refs log tree commit diff
path: root/docker/conf/log.config
blob: d9e85aa533557bd3a2b93f5574d5724031c826c3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
version: 1

formatters:
  precise:
    {% if include_worker_name_in_log_line %}
    format: '{{ worker_name }} | %(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
    {% else %}
    format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s'
    {% endif %}

handlers:
{% if LOG_FILE_PATH %}
  file:
    class: logging.handlers.TimedRotatingFileHandler
    formatter: precise
    filename: {{ LOG_FILE_PATH }}
    when: "midnight"
    backupCount: 6  # Does not include the current log file.
    encoding: utf8

  # Default to buffering writes to log file for efficiency.
  # WARNING/ERROR logs will still be flushed immediately, but there will be a
  # delay (of up to `period` seconds, or until the buffer is full with
  # `capacity` messages) before INFO/DEBUG logs get written.
  buffer:
    class: synapse.logging.handlers.PeriodicallyFlushingMemoryHandler
    target: file

    # The capacity is the maximum number of log lines that are buffered
    # before being written to disk. Increasing this will lead to better
    # performance, at the expensive of it taking longer for log lines to
    # be written to disk.
    # This parameter is required.
    capacity: 10

    # Logs with a level at or above the flush level will cause the buffer to
    # be flushed immediately.
    # Default value: 40 (ERROR)
    # Other values: 50 (CRITICAL), 30 (WARNING), 20 (INFO), 10 (DEBUG)
    flushLevel: 30  # Flush immediately for WARNING logs and higher

    # The period of time, in seconds, between forced flushes.
    # Messages will not be delayed for longer than this time.
    # Default value: 5 seconds
    period: 5
{% endif %}

  console:
    class: logging.StreamHandler
    formatter: precise

loggers:
    synapse.storage.SQL:
        # beware: increasing this to DEBUG will make synapse log sensitive
        # information such as access tokens.
        level: INFO

root:
    level: {{ SYNAPSE_LOG_LEVEL or "INFO" }}

{% if LOG_FILE_PATH %}
    handlers: [console, buffer]
{% else %}
    handlers: [console]
{% endif %}

disable_existing_loggers: false