testcontainers-clj/doc/log-strategies.md
Tim Zöller 233c3883eb
Make config clearer in log-strategies.md (#73) (#77)
This wasn't working for me because nothing in here says it all needs to be the value a `:log-to` key in the container config map. Reading the code and adding that made it work. Figured it might be nice to clarify that for others too.

Co-authored-by: Wes Morgan <github@wesmorgan.me>
2024-04-13 09:08:45 +02:00

1,021 B

Log strategies

This library offers two ways to access the logs of the running container: The :string strategy and the :fn strategy.

String Strategy

The :string strategy sets up a function in the returned map, under the :log key. This function enables the dumping of the logs when passed to the dump-logs function.

Example:

{:log-to {:log-strategy :string}}

Then, later in your program, you can access the logs thus:

(def container-config (tc/start! container))
(tc/dump-logs container-config)

Function Strategy

The :fn strategy accepts an additional parameter :function in the configuration map, which allows you to pass a function to the Testcontainers log mechanism which accepts a single String parameter and gets called for every log line. This way you can pass the container logging on to the logging library of your choice.

Example:

{:log-to {:log-strategy :fn
          :function     (fn [log-line] (println "From Container: " log-line))}}