Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file easy_logging.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125(* Type for log levels *)typelog_level=Easy_logging_types.level[@@derivingshow{with_path=false}]moduletypeHandlersT=Easy_logging_types.HandlersTmoduleMakeLogging(H:HandlersT)=structclasslogger(name:string)(level:log_level)(handlers_desc:H.desclist)=object(self)valmutablehandlers=List.mapH.makehandlers_descvalmutablelevel=levelvalname=namemethodadd_handlerh=handlers<-h::handlersmethodset_levelnew_level=level<-new_levelmethodprivate_log_msg:'a.('a->string)->H.taglist->log_level->'a->unit=fununwrap_funtagsmsg_levelmsg->ifmsg_level>=levelthenbeginletitem:H.log_item={level=msg_level;logger_name=name;msg=unwrap_funmsg;tags=tags}inList.iter(funhandler->H.applyhandleritem)handlersendelse()methodprivate_flog_msg:'a.H.taglist->log_level->('a,unit,string,unit)format4->'a=funtagsmsg_level->ifmsg_level>=levelthenPrintf.ksprintf(funmsg->letitem:H.log_item={level=msg_level;logger_name=name;msg=msg;tags=[]}inList.iter(funhandler->H.applyhandleritem)handlers)elsePrintf.ifprintf()methodflash:'a.?tags:H.taglist->('a,unit,string,unit)format4->'a=fun?tags:(tags=[])->self#_flog_msgtagsFlashmethoderror:'a.?tags:H.taglist->('a,unit,string,unit)format4->'a=fun?tags:(tags=[])->self#_flog_msgtagsErrormethodwarning:'a.?tags:H.taglist->('a,unit,string,unit)format4->'a=fun?tags:(tags=[])->self#_flog_msgtagsWarningmethodinfo:'a.?tags:H.taglist->('a,unit,string,unit)format4->'a=fun?tags:(tags=[])->self#_flog_msgtagsInfomethoddebug:'a.?tags:H.taglist->('a,unit,string,unit)format4->'a=fun?tags:(tags=[])->self#_flog_msgtagsDebugmethodsflash?tags:(tags=[])=self#_log_msg(funx->x)tagsFlashmethodserror?tags:(tags=[])=self#_log_msg(funx->x)tagsErrormethodswarning?tags:(tags=[])=self#_log_msg(funx->x)tagsWarningmethodsinfo?tags:(tags=[])=self#_log_msg(funx->x)tagsInfomethodsdebug?tags:(tags=[])=self#_log_msg(funx->x)tagsDebugmethodlflash?tags:(tags=[])=self#_log_msgLazy.forcetagsFlashmethodlerror?tags:(tags=[])=self#_log_msgLazy.forcetagsErrormethodlwarning?tags:(tags=[])=self#_log_msgLazy.forcetagsWarningmethodlinfo?tags:(tags=[])=self#_log_msgLazy.forcetagsInfomethodldebug?tags:(tags=[])=self#_log_msgLazy.forcetagsDebugendlet_loggers:(string,logger)Hashtbl.t=Hashtbl.create10letset_levelplvlo=Hashtbl.iter(funnl->ifString.subn0(String.lengthp)=pthenl#set_levellvlo;)_loggersletget_loggername=ifHashtbl.mem_loggersnamethenHashtbl.find_loggersnameelseletl=newloggernameNoLevel[]inHashtbl.add_loggersnamel;lletmake_loggernamelvlhdescs=letl=newloggernamelvlhdescsinHashtbl.add_loggersnamel;lletdummy()=make_logger"dummy"NoLevel[]endmoduleDefault_handlers=Default_handlersmoduleLogging=MakeLogging(Default_handlers)