You can use agent logs to resolve agent configuration and application instrumentation issues. The Controller can generate and archive agent log files that you can submit to AppDynamics Support for troubleshooting assistance. See Request Agent Log Files.

Agent Log File Information

The beginning of the log file shows the startup of the agent monitoring services and the configuration settings. The agent log also contains the sequence of agent runtime activity and exceptions that are encountered. You can use this information to troubleshoot deployment issues.

Examples of log information:

  • Agent version and build date
  • JVM runtime version (Java only)
  • Configuration changes
  • Backend detection
  • Exceptions 
  • Output from logging session requests

Logging Levels 

The logging levels, listed in order from collecting the most information to the least, are:

  • ALL: Logs all events.
  • TRACE: Reports finer-grained informational events than the debug level that may be useful to debug an application.
  • DEBUG: Reports fine-grained informational events that may be useful to debug an application.
  • INFO: Default log level. Reports informational messages that highlight the progress of the application at coarse-grained level.
  • WARN: Reports on potentially harmful situations.
  • ERROR: Reports on error events that may allow the application to continue running.

Not all agents log at all levels.

Log Structure

This section describes how the agent logs are rolled over for these agents:

  • Java Agent
  • .NET Agent
  • Proxy
  • BytecodeTransformer
  • Business Transactions
  • JMX
  • REST
  • Machine Agent
  • Dynamic Services (used internally)

When the maximum file size is reached, a new log file is created. The first file is named ...0.log, second file is ...1.log, and so on. There is a maximum of five files per set and a maximum of five sets for each instrumented node. If the maximum number of sets is reached, when a new set is created, the oldest set is deleted. 

While the agent rotates away old log files, it retains the initial log file. The first log file contains information that reflects the specific context in which the agent was started, along with other information that can be useful for troubleshooting and record keeping. On agent restart, a new set is created and the oldest set is deleted

Each set includes not only the application agent log but also, depending on which logs exist, the ByteCodeTransformer log, the REST log and the BusinessTransaction log. A single set might consist of:

  • agent.<timestamp>.#.log
  • ByteCodeTransformer.<timestamp>.#.log
  • REST.<timestamp>.#.log
  • BusinessTransaction.<timestamp>.#.log

where # is the number of the set.

For example, these logs in the logs directory were created on April 3 or the first set, set 0. The agent is a Java Agent; this is indicated by the prefix agent. Other app agents use different naming conventions. See the agent-specific information.

agent.2015_04_03__14_49_38.0.log
agent.2015_04_03__14_49_46.0.log
agent.2015_04_03__14_51_04.0.log
BusinessTransactions.2015_04_03__14_49_38.0.log
BusinessTransactions.2015_04_03__14_49_46.0.log
BusinessTransactions.2015_04_03__14_51_04.0.log
ByteCodeTransformer.2015_04_03__14_49_40.0.log
ByteCodeTransformer.2015_04_03__14_49_47.0.log
ByteCodeTransformer.2015_04_03__14_51_04.0.log
REST.2015_04_03__14_49_38.0.log
REST.2015_04_03__14_49_46.0.log
REST.2015_04_03__14_51_04.0.log

On the next agent restart a new set is created. The logs in this set, set 1, will have names such as:

agent.2015_04_03__14_53_05.1.log
. . . 

and the next set, set 2,

agent.2015_04_04__15_12_06.2.log
. . . 

and so on through the five potential sets.

Agent-Specific Information

AppDynamics app server agents have different logging locations and different maximum log sizes.