###############################################################################
# Initialize logging.
-import logging
-log = logging.getLogger("collecty")
-log.level = logging.DEBUG
-
-handler = logging.StreamHandler()
-handler.setLevel(logging.DEBUG)
-log.handlers.append(handler)
-
-formatter = logging.Formatter("%(asctime)s | %(name)-20s - %(levelname)-6s | %(message)s")
-handler.setFormatter(formatter)
+import logger
from client import CollectyClient
from daemon import Collecty
SUBMIT_INTERVAL = 300
def __init__(self, debug=False):
+ # Enable debug logging when running in debug mode
+ if debug:
+ log.setLevel(logging.DEBUG)
+
self.data_sources = []
# Indicates whether this process should be running or not.
--- /dev/null
+#!/usr/bin/python
+###############################################################################
+# #
+# collecty - A system statistics collection daemon for IPFire #
+# Copyright (C) 2015 IPFire development team #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU 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 General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+import logging
+
+# Initialize logging.
+log = logging.getLogger("collecty")
+log.propagate = False
+
+# The default log level is INFO
+log.setLevel(logging.INFO)
+
+# We try using the native journald log handler. If that is unavailable,
+# we dump everything on the console
+try:
+ import journal
+ handler = journal.JournalHandler()
+
+except ImportError:
+ handler = logging.StreamHandler()
+
+handler.setLevel(logging.DEBUG)
+log.addHandler(handler)