             self.logView.addLog(log)
         } else {
             self.logView.performSelector(onMainThread: #selector(addLog(_:)), with: log, waitUntilDone: true)
+        }
+    }
+    
+    fileprivate func mark(for level: Log.Level) -> String {
+        switch level {
+        case .verbose:  return verboseMark
+        case .debug:    return debugMark
+        case .info:     return infoMark
+        case .warning:  return warningMark
+        case .error:    return errorMark
         }
     }
     

public class Log: NSObject, NSCoding {
    
    enum Level: String {
        case verbose    = "✉️"
        case debug      = "🌐"
        case info       = "📟"
        case warning    = "⚠️"
        case error      = "❌"
    }
    
    /// Print verbose log (white)

    
    /// Color of verbose logs, default is white.
    public var verboseColor: UIColor = UIColor.white
    /// Emoji mark of verbose logs, default is ✉️
    public var verboseMark: String = "✉️"
    
    /// Color of debug logs, default is blue.
    public var debugColor: UIColor = UIColor(red: 0, green: 0.627, blue: 0.745, alpha: 1)
    /// Emoji mark of debug logs, default is 🌐
    public var debugMark: String = "🌐"
    
    /// Color of info logs, default is green.
    public var infoColor: UIColor = UIColor(red: 0.514, green: 0.753, blue: 0.341, alpha: 1)
    /// Emoji mark of info logs, default is 📟
    public var infoMark: String = "📟"
    
    /// Color of warning logs, default is yellow.
    public var warningColor: UIColor = UIColor.yellow
    /// Emoji mark of warning logs, default is ⚠️
    public var warningMark: String = "⚠️"
    
    /// Color of error logs, default is red.
    public var errorColor: UIColor = UIColor.red
    /// Emoji mark of error logs, default is ❌
    public var errorMark: String = "❌"
    
    /// Font of logs, default is system font of 15 pix.
    public var font: UIFont = UIFont.systemFont(ofSize: 15) {
