Refactor log system
[platform/core/security/cert-svc.git] / vcore / src / dpl / log / include / dpl / log / abstract_log_provider.h
index 9061156..f2f7730 100644 (file)
@@ -26,31 +26,27 @@ namespace VcoreDPL {
 namespace Log {
 class AbstractLogProvider
 {
-  public:
+public:
+    enum class LogLevel {
+        None,
+        Error,
+        Warning,
+        Info,
+        Debug,
+        Pedantic
+    };
+
     virtual ~AbstractLogProvider() {}
 
-    virtual void Debug(const char *message,
-                       const char *fileName,
-                       int line,
-                       const char *function) = 0;
-    virtual void Info(const char *message,
-                      const char *fileName,
-                      int line,
-                      const char *function) = 0;
-    virtual void Warning(const char *message,
-                         const char *fileName,
-                         int line,
-                         const char *function) = 0;
-    virtual void Error(const char *message,
-                       const char *fileName,
-                       int line,
-                       const char *function) = 0;
-    virtual void Pedantic(const char *message,
-                          const char *fileName,
-                          int line,
-                          const char *function) = 0;
+    virtual void SetTag(const char *tag);
+
+    virtual void Log(LogLevel level,
+                     const char *message,
+                     const char *fileName,
+                     int line,
+                     const char *function) const = 0;
 
-  protected:
+protected:
     static const char *LocateSourceFileName(const char *filename);
 };
 }