对于我的Mac应用程序,我想在磁盘上创建一个类似于log4net windows side生成的日志文件。我想要的东西包括日期戳,日志级别(Debug,Info,Warning,Error)等,我不希望自己从头开始。VMWare fusion和JollysFastVNC都做了我想要做的事情,只是没有日志级别。我该怎么做呢?
在C#语言中,我使用语义日志应用程序块()进行进程内日志记录.我的要求是,我应该能够更改侦听器的EventLevel,而不必重新编译代码:-var listener1 = new ObservableEventListener但是由于它是一个进程内日志记录,所以平板不提供任何内置的Config文件.因此,我希望有一种方法可以通过创建Config文件或任何其他方式来实现需求。
背景: In C++,为单个日志记录类设置日志级别(调试、警告、错误等)的标准方法是通过环境变量。这样,程序员就不必到处传递日志级别了。此外,默认情况下,任何子进程都继承父进程的日志级别。缺点是遍历环境表是O(n),所以您不希望每次记录消息时都检查它。相反,它是在启动时检查一次,然后再检查一次.但是,这被认为是可以接受的,因为日志级别预计不会在进程的生存期内发生变化。问题:在MISRA兼容的C(或一般情况下只有C)中