1 /* 2 * Copyright (C) 2014-2020 Garrett Brown 3 * Copyright (C) 2014-2020 Team Kodi 4 * Portions Copyright (C) 2013-2014 Lars Op den Kamp 5 * 6 * SPDX-License-Identifier: GPL-2.0-or-later 7 * See LICENSE.md for more information. 8 */ 9 10 #pragma once 11 12 namespace JOYSTICK 13 { 14 enum SYS_LOG_LEVEL 15 { 16 SYS_LOG_NONE = 0, 17 SYS_LOG_ERROR, 18 SYS_LOG_INFO, 19 SYS_LOG_DEBUG 20 }; 21 22 enum SYS_LOG_TYPE 23 { 24 SYS_LOG_TYPE_NULL = 0, // Discard log 25 SYS_LOG_TYPE_CONSOLE, // Log to stdout 26 SYS_LOG_TYPE_SYSLOG, // Log to syslog 27 SYS_LOG_TYPE_ADDON // Log to frontend 28 }; 29 30 class ILog 31 { 32 public: ~ILog(void)33 virtual ~ILog(void) { } 34 35 virtual void Log(SYS_LOG_LEVEL level, const char* logline) = 0; 36 37 virtual SYS_LOG_TYPE Type(void) const = 0; 38 }; 39 } 40