Safeguard
Security Guides•

Where are Jenkins logs and what should you keep for security reviews?

Find Jenkins logs on Linux, Windows, macOS, WAR and Docker installs, enable HTTP access logs, and decide what to retain for incident reviews.

Safeguard Security Team
3 min read

Where Jenkins logs live depends on how it was installed. On Linux packages use journalctl -u jenkins.service. In Docker use docker logs. For security reviews, also turn on HTTP access logs and send everything to a place that outlives the controller, since logs on a compromised host cannot be fully trusted.

Log locations

Install typeWhere to look
Linux rpm or debjournalctl -u jenkins.service, with an optional JENKINS_LOG override through systemctl edit jenkins
Windows msijenkins.out and jenkins.err under the Jenkins home, unless changed in jenkins.xml
macOS/var/log/jenkins/jenkins.log, unless changed in the plist
WAR fileIn JENKINS_HOME, or the .jenkins/log folder if that variable is not set
Dockerdocker logs with the container ID

What is logged by default

Jenkins uses java.util.logging, which sends messages at INFO and above to standard output. You can add custom log recorders under Manage Jenkins, then Logs, to collect chosen loggers and view them in the web interface. Debug levels come from a logging.properties file passed with a Java system property, and the docs advise against debug levels in production.

HTTP access logs

Access logs are optional. You turn them on through Winstone arguments, and they record client IP, timestamp, request URL, status code and user agent in NCSA combined or common format. For a security review these are often the most useful lines, because they show who called what and when.

What to keep and why

  1. Controller log. Startup messages, plugin load errors and warnings.
  2. HTTP access log. Requests, with source addresses.
  3. Build logs. They may contain secrets if a job printed one, so restrict who can read old builds.
  4. Configuration history. Changes to jobs and settings, ideally also in version control.
  5. Authentication events. Whatever your security realm or proxy records.

Choose a retention period that matches your own policy, and write it down. Ship logs off the host to central storage with limited write access.

Reviewing after a suspected issue

  • Pull the access log for the period of interest and look for unusual paths, odd user agents and bursts of failed logins.
  • Check plugin load messages for unexpected additions.
  • Compare job configuration to the last reviewed version.
  • Do not rely only on logs held on the same controller.

Try it yourself

The demo shows continuous monitoring, which is the habit of watching changes rather than reading them after an event.

Click through it at your own pace, or open it full screen.

Where Safeguard fits

Safeguard offers compliance and evidence automation that can help keep dated records of reviews. There is also a free scan.

Quick check

Does Jenkins log HTTP requests by default?

No. HTTP access logs are optional and enabled through Winstone arguments.

Should I use debug logging in production?

The Jenkins docs advise against debug levels in production.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.