[#log-levels]
= Logging - Application

[NOTE]
There are two different types of logs in OliveTin - xref:advanced_configuration/logs.adoc[application logs] and xref:advanced_configuration/logs-actions.adoc[action logs]. This page is about the __application logs__, which are the logs that OliveTin itself generates. The action logs are the logs that are generated by the actions that you run in OliveTin.

OliveTin supports a few different log levels. The default logLevel is `INFO`. 

You can set a `logLevel` in config.yaml like this;

.`config.yaml`
[source,yaml]
----
logLevel: "INFO"

actions:
    ....
----

The supported log levels are;

* `DEBUG` - Every possible log message will be shown. This will use a lot of disk space and is not recommended unless you are a developer / like reading code.
* `ERROR` - OliveTin rarely uses the `ERROR` log level.
* `WARN` - Very few messages, only warnings are shown.
* `INFO` - The defualt log level.

You can change the `logLevel` while OliveTin is running, and it should update as soon as you save your config.yaml. You will always get a log message like this;

[source,bash]
----
INFO Setting log level to warning
----

== JSON Log Format

* OliveTin 2k supports JSON log format from version **2025.10.30**.
* OliveTin 3k supports JSON log format from version **3000.2.2**.

You can enable JSON log format by setting the `OLIVETIN_LOG_FORMAT` environment variable to `json`.

[source,bash]
.Example of setting `OLIVETIN_LOG_FORMAT` to `json`.
----
root@server: ./OliveTin
{"commit":"nocommit","date":"nodate","level":"info","msg":"OliveTin initializing","time":"2025-10-30T10:09:55Z","version":"dev"}
{"level":"debug","msg":"Value of -configdir flag","time":"2025-10-30T10:09:55Z","value":"."}
{"level":"debug","msg":"servicehost nonwin","time":"2025-10-30T10:09:55Z"}
{"level":"info","msg":"Setting log level to info","time":"2025-10-30T10:09:55Z"}
{"level":"info","msg":"OliveTin initialization complete","time":"2025-10-30T10:09:55Z"}
{"configDir":"/home/xconspirisist/sandbox/Development/OliveTin/OliveTin","level":"info","msg":"OliveTin started","time":"2025-10-30T10:09:55Z"}
----
