@@ -110,12 +110,32 @@ public ClientTracker getClientTracker() {
110110 @ Override
111111 public void cleanup () {
112112 try {
113- ExecResult result = execInContainer ("tar" , "-czvf" , "/tmp/esdb_logs.tar.gz" , "/var/log/eventstore" );
114- if (result .getExitCode () != 0 ) {
115- logger ().error (result .getStderr ());
116- throw new RuntimeException ("Error when compressing server logs" );
113+ try {
114+ ExecResult checkDir = execInContainer ("sh" , "-c" , "[ -d /var/log/eventstore ] && echo 'eventstore' || [ -d /var/log/kurrentdb ] && echo 'kurrentdb' || echo 'none'" );
115+ String logDir = checkDir .getStdout ().trim ();
116+
117+ if ("eventstore" .equals (logDir )) {
118+ logger ().info ("Collecting logs from /var/log/eventstore" );
119+ ExecResult result = execInContainer ("tar" , "-czvf" , "/tmp/esdb_logs.tar.gz" , "/var/log/eventstore" );
120+ if (result .getExitCode () == 0 ) {
121+ copyFileFromContainer ("/tmp/esdb_logs.tar.gz" , "/tmp/esdb_logs.tar.gz" );
122+ } else {
123+ logger ().warn ("Failed to compress logs: {}" , result .getStderr ());
124+ }
125+ } else if ("kurrentdb" .equals (logDir )) {
126+ logger ().info ("Collecting logs from /var/log/kurrentdb" );
127+ ExecResult result = execInContainer ("tar" , "-czvf" , "/tmp/esdb_logs.tar.gz" , "/var/log/kurrentdb" );
128+ if (result .getExitCode () == 0 ) {
129+ copyFileFromContainer ("/tmp/esdb_logs.tar.gz" , "/tmp/esdb_logs.tar.gz" );
130+ } else {
131+ logger ().warn ("Failed to compress logs: {}" , result .getStderr ());
132+ }
133+ } else {
134+ logger ().warn ("No log directory found at /var/log/eventstore or /var/log/kurrentdb, skipping log collection" );
135+ }
136+ } catch (Exception logException ) {
137+ logger ().warn ("Could not collect container logs (this is not critical): {}" , logException .getMessage ());
117138 }
118- copyFileFromContainer ("/tmp/esdb_logs.tar.gz" , "/tmp/esdb_logs.tar.gz" );
119139 } catch (Exception e ) {
120140 logger ().error ("Error when cleanup docker container" , e );
121141 } finally {
0 commit comments