Playbook for setting logging level in springboot application through actuator.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- hosts: "{{ nodes }}" | |
gather_facts: no | |
vars: | |
- category: ROOT # pass here ROOT or package or classname with package | |
- level: INFO # pass here logging level or null | |
tasks: | |
- name: "Change logging level to '{{ level }}' for '{{ category }}'" | |
when: level != "null" | |
uri: | |
url: "http://localhost:8080/actuator/loggers/{{ category }}" | |
method: POST | |
status_code: 204 | |
body: "{\"configuredLevel\": \"{{ level }}\" }" | |
body_format: json | |
headers: | |
Content-Type: "application/json" | |
- name: "Remove configured logging for '{{ category }}'" | |
when: level == "null" | |
uri: | |
url: "http://localhost:8080/actuator/loggers/{{ category }}" | |
method: POST | |
status_code: 204 | |
body: "{\"configuredLevel\": null }" | |
body_format: json | |
headers: | |
Content-Type: "application/json" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You can run playbook with variables:
nodes
- IP addresses or server group from your inventorycategory
- ROOT or package or classname with packagelevel
- logging level for exampleINFO
ornull
Run example
ansible-playbook change-logging-level.yaml \ --extra-vars "nodes=localhost category=pl.speedlog.example.logging_level.AnotherScheduler level=TRACE"