diff --git a/base/src/main/java/de/staropensource/sosengine/base/logging/implementation/QuietLoggerImplementation.java b/base/src/main/java/de/staropensource/sosengine/base/logging/implementation/QuietLoggerImplementation.java new file mode 100644 index 00000000..e88a4f08 --- /dev/null +++ b/base/src/main/java/de/staropensource/sosengine/base/logging/implementation/QuietLoggerImplementation.java @@ -0,0 +1,49 @@ +/* + * STAROPENSOURCE ENGINE SOURCE FILE + * Copyright (c) 2024 The StarOpenSource Engine Contributors + * Licensed under the GNU Affero General Public License v3 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.staropensource.sosengine.base.logging.implementation; + +import de.staropensource.sosengine.base.classes.LoggerImplementation; +import de.staropensource.sosengine.base.types.logging.LogLevel; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * An implementation of {@link LoggerImplementation}, which does nothing. + * Useful if you want to silence engine startup messages. + * + * @since v1-alpha4 + */ +public class QuietLoggerImplementation implements LoggerImplementation { + /** {@inheritDoc} */ + @Override + public @Nullable String prePlaceholder(@NotNull LogLevel level, @NotNull Class issuerClass, @NotNull String issuerOrigin, @Nullable String issuerMetadata, @NotNull String message, @NotNull String format) { + return null; + } + + /** {@inheritDoc} */ + @Override + public @NotNull String postPlaceholder(@NotNull LogLevel level, @NotNull Class issuerClass, @NotNull String issuerOrigin, @Nullable String issuerMetadata, @NotNull String message, @NotNull String format) { + return format; + } + + /** {@inheritDoc} */ + @Override + public void print(@NotNull LogLevel level, @NotNull Class issuerClass, @NotNull String issuerOrigin, @Nullable String issuerMetadata, @NotNull String message, @NotNull String format) {} +}