__ 大纲: __
几乎每个大型应用程序都包含自己的日志期API。将日志语句插入代码是调试它的低技术方法。
日志记录是开发周期的重要组成部分。它提供了几个优点:关于申请的运行的精确上下文;一旦插入代码,日志输出的产生就不需要人类干预;可以在稍后的时间内保存在持久介质中的日志输出。
[注意]上面的文本是从Apache log4cxx网页拍摄的,并略微修改
log4matlab设计为可靠,快速和可扩展。由于日志记录很少是应用程序的主要重点,因此API致力于理解和使用。它是从多个类/函数中记录的有用工具。将日志消息写入命令行不是具有许多类的大型项目的扩展。
__ 特征: __
- 如果记录器是一个项目的单例,则所有类都可以将其日志消息写入同一文件。
- 万博1manbetx支持调试,警告和错误消息。
- 将在发送的消息中以毫秒内的记录文件
__ 用法: __
为了设置要登录的文件
l = log4matlab('logfilename.log');
-
记录有关名为“myclassname”的类的调试消息
l.mlog = {l.debug,'myclassname','这是一个调试消息'};
-
记录有关称为“某些功能”函数的警告消息
l.mlog = {l.warn,'somefunction','这是一个警告消息'};
-
记录有关名为“thenpisarbitrary”脚本的错误消息
l.mlog = {l.Error,'thisiSarbitrary','这是一个错误消息'};
-
设置名为“myclassname”的类的记录器级别,以便仅显示警告和错误。
然后发送3个日志消息,其中只会记录其中2个。
L.SetLoggerLevel('myclassname',l.warn)
l.mlog = {l.debug,'myclassname','这是一个调试消息'};
l.mlog = {l.warn,'myclassname','这是一个警告消息'};
l.mlog = {l.Error,'myclassname','这是一个错误消息'};
-
设置函数的记录仪级别称为“某些功能”,以便仅显示错误。
然后发送3个日志消息,其中目前只会记录1
L.SetLoggerLevel('somefunction',l.error)
l.mlog = {l.debug,'somefunction','这是一个调试消息'};
l.mlog = {l.warn,'somefunction','这是一个警告消息'};
l.mlog = {l.Error,'某种功能','这是一个错误消息'};
-
要为myclassname,某种功能和本网族获得记录级别,并查看它们等于我们所预期的
l.getloggerlevel('myclassname')== l.warn
l.getloggerlevel('somefunction')== l.Error
L.GetLoggerLevel('thisiSarbitrary')== L.Debug
-
允许Warn和错误消息将打印到命令窗口
L.SetCommandWindowlevel(L.Warn)
-
要将打印到命令窗口的无消息
L.SetCommandWindowlevel(L.None)
-
记录矩阵
l.mlog = {l.debug,'myclassname',['transform是',l.matrixtostring(眼睛(4))]};
-
记录异常(例如尝试访问Zeroth(0th)索引时生成)
尝试
a(0);
抓住我
l.mlog = {l.debug,'myclassname',['有一个错误',l.exceptiontostring(me)]};
结尾
-
获取类中当前函数的名称(必须在TestClass2.m中的示例中运行)
self.l.mlog = {self.l.debug,mfilename('class'),[self.l.me,'a =',num2str(a)]};
-
有关更多详细信息,请参阅log4matlab.doxy文件。
-
有关示例脚本以“example.m”脚本从显示如何使用log4matlab作为脚本的“example.ma”脚本,并且还如何在包含命名空间中包含多个类和类的项目中使用它。
尝试将示例类TestClass1和TestClass2以及Namespace.testClass1
文件。
__ 额外的: __
虽然不是必需品,但作为额外的额外,如果您希望运行单元测试案例文件log4matlabtestcatem.m您需要sourceforge项目:mlunit - matlab的测试框架(http://sourceforge.net/projects/mlunit/)
Gavin(2021)。log4matlab.(//www.tianjin-qmedu.com/matlabcentral/fileexchange/33532-log4matlab),matlab中央文件exchange。检索到。
感谢通过文件交换共享。工作正常。有效的智能编码风格!
Gavin - 我在我的Todo列表中有一个log4m的实施数月 - 对你来说比我更快!