You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							44 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							44 lines
						
					
					
						
							1.4 KiB
						
					
					
				
								/**
							 | 
						|
								 * DailyNotificationLogger.swift
							 | 
						|
								 * Daily Notification Plugin for Capacitor
							 | 
						|
								 *
							 | 
						|
								 * Provides logging functionality for the notification plugin
							 | 
						|
								 */
							 | 
						|
								
							 | 
						|
								import Foundation
							 | 
						|
								
							 | 
						|
								/// Logger utility for the DailyNotification plugin
							 | 
						|
								///
							 | 
						|
								/// Provides structured logging capabilities with different severity levels
							 | 
						|
								/// and automatic file/line/function information.
							 | 
						|
								public class DailyNotificationLogger {
							 | 
						|
								    /// Shared instance for singleton access
							 | 
						|
								    public static let shared = DailyNotificationLogger()
							 | 
						|
								    
							 | 
						|
								    /// Available logging levels
							 | 
						|
								    public enum Level: String {
							 | 
						|
								        case debug, info, warning, error
							 | 
						|
								    }
							 | 
						|
								    
							 | 
						|
								    private init() {}
							 | 
						|
								    
							 | 
						|
								    /// Log a message with the specified severity level
							 | 
						|
								    /// - Parameters:
							 | 
						|
								    ///   - level: The severity level of the log
							 | 
						|
								    ///   - message: The message to log
							 | 
						|
								    ///   - file: The file where the log was called (automatic)
							 | 
						|
								    ///   - function: The function where the log was called (automatic)
							 | 
						|
								    ///   - line: The line number where the log was called (automatic)
							 | 
						|
								    public func log(
							 | 
						|
								        _ level: Level,
							 | 
						|
								        _ message: String,
							 | 
						|
								        file: String = #file,
							 | 
						|
								        function: String = #function,
							 | 
						|
								        line: Int = #line
							 | 
						|
								    ) {
							 | 
						|
								        #if DEBUG
							 | 
						|
								        let fileName = (file as NSString).lastPathComponent
							 | 
						|
								        print("[\(level.rawValue.uppercased())] [\(fileName):\(line)] \(function): \(message)")
							 | 
						|
								        #endif
							 | 
						|
								    }
							 | 
						|
								} 
							 |