12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- [[gc-logging]]
- === GC logging
- By default, {es} enables GC logs. These are configured in
- <<jvm-options,`jvm.options`>> and output to the same default location as
- the {es} logs. The default configuration rotates the logs every 64 MB and
- can consume up to 2 GB of disk space.
- You can reconfigure JVM logging using the command line options described in
- https://openjdk.java.net/jeps/158[JEP 158: Unified JVM Logging]. Unless you
- change the default `jvm.options` file directly, the {es} default
- configuration is applied in addition to your own settings. To disable the
- default configuration, first disable logging by supplying the
- `-Xlog:disable` option, then supply your own command line options. This
- disables __all__ JVM logging, so be sure to review the available options
- and enable everything that you require.
- To see further options not contained in the original JEP, see
- https://docs.oracle.com/en/java/javase/13/docs/specs/man/java.html#enable-logging-with-the-jvm-unified-logging-framework[Enable
- Logging with the JVM Unified Logging Framework].
- ==== Examples
- * Change the default GC log output location to `/opt/my-app/gc.log` by
- creating `$ES_HOME/config/jvm.options.d/gc.options` with some sample
- options:
- +
- [source,shell]
- --------------------------------------------
- # Turn off all previous logging configuratons
- -Xlog:disable
- # Default settings from JEP 158, but with `utctime` instead of `uptime` to match the next line
- -Xlog:all=warning:stderr:utctime,level,tags
- # Enable GC logging to a custom location with a variety of options
- -Xlog:gc*,gc+age=trace,safepoint:file=/opt/my-app/gc.log:utctime,pid,tags:filecount=32,filesize=64m
- --------------------------------------------
- * Configure an {es} <<docker,Docker container>> to send GC debug logs to
- standard error (`stderr`). This lets the container orchestrator
- handle the output. If using the `ES_JAVA_OPTS` environment variable,
- specify:
- +
- [source,sh]
- --------------------------------------------
- MY_OPTS="-Xlog:disable -Xlog:all=warning:stderr:utctime,level,tags -Xlog:gc=debug:stderr:utctime"
- docker run -e ES_JAVA_OPTS="$MY_OPTS" # etc
- --------------------------------------------
|