From e3c2f4ad1349120a1f9e70cb4489ddcb25f33533 Mon Sep 17 00:00:00 2001 From: milanmajchrak <90026355+milanmajchrak@users.noreply.github.com> Date: Wed, 26 Nov 2025 08:15:22 +0100 Subject: [PATCH 1/2] Updated log rotating (#1160) * Gzipped files on rotating and do not delete files after 30 days * Updated solr logs - gzip, configured postgres logs to gzip after 1 day * Renamed log configuration file and updated comments --- dspace/config/log4j2-cli.xml | 20 ++-------------- dspace/config/log4j2-handle-plugin.xml | 10 +------- dspace/config/log4j2.xml | 24 ++++--------------- .../dspace-postgres-pgcrypto/Dockerfile | 6 +++++ .../log.properties.conf | 21 ++++++++++++++++ scripts/log4j2.solr.xml | 4 ++-- 6 files changed, 36 insertions(+), 49 deletions(-) create mode 100644 dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf diff --git a/dspace/config/log4j2-cli.xml b/dspace/config/log4j2-cli.xml index 6cac529978fc..1ccfe744de94 100644 --- a/dspace/config/log4j2-cli.xml +++ b/dspace/config/log4j2-cli.xml @@ -23,7 +23,7 @@ @@ -34,19 +34,11 @@ yyyy-MM-dd - yyyy-MM-dd - diff --git a/dspace/config/log4j2-handle-plugin.xml b/dspace/config/log4j2-handle-plugin.xml index 5f72e05c7303..1f8093c3ee0e 100644 --- a/dspace/config/log4j2-handle-plugin.xml +++ b/dspace/config/log4j2-handle-plugin.xml @@ -13,7 +13,7 @@ yyyy-MM-dd - diff --git a/dspace/config/log4j2.xml b/dspace/config/log4j2.xml index 455ed7fe6d89..3273551bc0f6 100644 --- a/dspace/config/log4j2.xml +++ b/dspace/config/log4j2.xml @@ -23,7 +23,7 @@ yyyy-MM-dd - yyyy-MM-dd - diff --git a/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile b/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile index da0ee26e7f82..856b3be494b6 100644 --- a/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile +++ b/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile @@ -19,5 +19,11 @@ ENV POSTGRES_DB=dspace ENV POSTGRES_USER=dspace ENV POSTGRES_PASSWORD=${POSTGRES_PASSWORD} +# Create the log directory with the correct permissions +RUN mkdir -p /var/log/postgresql && chown postgres:postgres /var/log/postgresql + +# Copy configuration with log rotation +COPY log.properties.conf /etc/postgresql/log.properties.conf + # Copy over script which will initialize database and install pgcrypto extension COPY install-pgcrypto.sh /docker-entrypoint-initdb.d/ diff --git a/dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf b/dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf new file mode 100644 index 000000000000..f2411f054c1c --- /dev/null +++ b/dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf @@ -0,0 +1,21 @@ +# Enable logging collector +logging_collector = on + +# Where logs go (absolute path for Docker) +log_directory = '/var/log/postgresql' + +# Log filename with date pattern for rotation +log_filename = 'postgresql-%Y-%m-%d.log' + +# Rotate once per day +log_rotation_age = 1d + +# No size-based rotation (0 = disabled) +log_rotation_size = 0 + +# Truncate old file when rotating with same name +log_truncate_on_rotation = on + +# What to log +log_line_prefix = '%m [%p] %u@%d ' +log_timezone = 'UTC' diff --git a/scripts/log4j2.solr.xml b/scripts/log4j2.solr.xml index 6f0e30e5b5b4..79e8b3f94a23 100644 --- a/scripts/log4j2.solr.xml +++ b/scripts/log4j2.solr.xml @@ -31,7 +31,7 @@ + filePattern="${sys:solr.log.dir}/solr.log.%i.gz" > %maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%notEmpty{ =>%ex{short}}}{10240}%n @@ -47,7 +47,7 @@ + filePattern="${sys:solr.log.dir}/solr_slow_requests.log.%i.gz" > %maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%notEmpty{ =>%ex{short}}}{10240}%n From b8c89d4944eaf29187712152f14bec309ea1e71a Mon Sep 17 00:00:00 2001 From: Paurikova2 Date: Thu, 8 Jan 2026 12:49:49 +0100 Subject: [PATCH 2/2] removed from dockerfile creating of log directly and its copying --- .../dspace-postgres-pgcrypto/Dockerfile | 6 ------ .../log.properties.conf | 21 ------------------- 2 files changed, 27 deletions(-) delete mode 100644 dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf diff --git a/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile b/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile index 856b3be494b6..da0ee26e7f82 100644 --- a/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile +++ b/dspace/src/main/docker/dspace-postgres-pgcrypto/Dockerfile @@ -19,11 +19,5 @@ ENV POSTGRES_DB=dspace ENV POSTGRES_USER=dspace ENV POSTGRES_PASSWORD=${POSTGRES_PASSWORD} -# Create the log directory with the correct permissions -RUN mkdir -p /var/log/postgresql && chown postgres:postgres /var/log/postgresql - -# Copy configuration with log rotation -COPY log.properties.conf /etc/postgresql/log.properties.conf - # Copy over script which will initialize database and install pgcrypto extension COPY install-pgcrypto.sh /docker-entrypoint-initdb.d/ diff --git a/dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf b/dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf deleted file mode 100644 index f2411f054c1c..000000000000 --- a/dspace/src/main/docker/dspace-postgres-pgcrypto/log.properties.conf +++ /dev/null @@ -1,21 +0,0 @@ -# Enable logging collector -logging_collector = on - -# Where logs go (absolute path for Docker) -log_directory = '/var/log/postgresql' - -# Log filename with date pattern for rotation -log_filename = 'postgresql-%Y-%m-%d.log' - -# Rotate once per day -log_rotation_age = 1d - -# No size-based rotation (0 = disabled) -log_rotation_size = 0 - -# Truncate old file when rotating with same name -log_truncate_on_rotation = on - -# What to log -log_line_prefix = '%m [%p] %u@%d ' -log_timezone = 'UTC'