diff --git a/grib_processor/main.py b/grib_processor/main.py
index 298ea2cf4828838e6fa0b58cf2b021a6b9a1274f..349de6d752567ce32d158f23e32af728b6ca6f0e 100644
--- a/grib_processor/main.py
+++ b/grib_processor/main.py
@@ -63,8 +63,8 @@ def initialize_logging(verbosity: int, rotating_dir: str | None = None) -> None:
     )
 
     if rotating_dir is not None:
-        file_handler = logging.handlers.TimedRotatingFileHandler(
-            os.path.join(rotating_dir, LOG_NAME), when="D", utc=True
+        file_handler = logging.handlers.RotatingFileHandler(
+            os.path.join(rotating_dir, LOG_NAME), encoding='utf-8', backupCount=5, maxBytes= 150 * 1024
         )
         file_handler.setFormatter(log_formatter)
         file_handler.setLevel(logging.DEBUG)
@@ -103,7 +103,6 @@ def setup() -> tuple[Iterable[GribPayload], Callable[[GribPayload], None]]:
         default=None,
         help="Set up a rotating file logger in this directory.",
     )
-
     parser.add_argument(
         "-R",
         "--realtime",
@@ -116,7 +115,6 @@ def setup() -> tuple[Iterable[GribPayload], Callable[[GribPayload], None]]:
         action="store_true",
         help="When using a directory as the source, process all files in the directory recursively instead of setting up a watch.",
     )
-
     parser.add_argument(
         "-o",
         "--output",