summaryrefslogtreecommitdiff
path: root/server/continuedev/libs/util/logging.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/continuedev/libs/util/logging.py')
-rw-r--r--server/continuedev/libs/util/logging.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/server/continuedev/libs/util/logging.py b/server/continuedev/libs/util/logging.py
new file mode 100644
index 00000000..a4dc3562
--- /dev/null
+++ b/server/continuedev/libs/util/logging.py
@@ -0,0 +1,47 @@
+import logging
+import os
+
+from .paths import getLogFilePath
+
+logfile_path = getLogFilePath()
+
+try:
+ # Truncate the logs that are more than a day old
+ if os.path.exists(logfile_path) and os.path.getsize(logfile_path) > 32 * 1024:
+ tail = None
+ with open(logfile_path, "rb") as f:
+ f.seek(-32 * 1024, os.SEEK_END)
+ tail = f.read().decode("utf-8")
+
+ if tail is not None:
+ with open(logfile_path, "w") as f:
+ f.write(tail)
+
+except Exception as e:
+ print("Error truncating log file: {}".format(e))
+
+# Create a logger
+logger = logging.getLogger(__name__)
+logger.setLevel(logging.DEBUG)
+
+# Create a file handler
+file_handler = logging.FileHandler(logfile_path)
+file_handler.setLevel(logging.DEBUG)
+
+# Create a console handler
+console_handler = logging.StreamHandler()
+console_handler.setLevel(logging.DEBUG)
+
+# Create a formatter
+formatter = logging.Formatter("[%(asctime)s] [%(levelname)s] %(message)s")
+
+# Add the formatter to the handlers
+file_handler.setFormatter(formatter)
+console_handler.setFormatter(formatter)
+
+# Add the handlers to the logger
+logger.addHandler(file_handler)
+logger.addHandler(console_handler)
+
+# Log a test message
+logger.debug("------ Begin Logs ------")