Tag: 日志

__FILE__,__LINE__和__FUNCTION__在C ++中的用法

假定你的C ++编译器支持它们,有什么特别的理由不为了logging和debugging目的而使用__FILE__ , __FUNCTION__ __LINE__和__FUNCTION__ ? 我主要关心的是如何给用户带来误导性的数据,例如,报告不正确的行号或function,作为优化的结果,或者导致性能下降。 基本上,我可以信任__FILE__ , __FUNCTION__ __LINE__和__FUNCTION__ 总是做正确的事情吗?

来自subprocess命令的实时输出

我使用Python脚本作为stream体动力学代码的驱动程序。 当运行模拟时,我使用subprocess.Popen来运行代码,将stdout和stderr的输出收集到subprocess.PIPE —然后我可以打印(并保存到日志文件)输出信息,并检查是否有错误。 问题是,我不知道代码是如何进展的。 如果我直接从命令行运行它,它会给出关于它在什么时候迭代的输出,什么时间,什么是下一个时间步,等等。 有没有一种方法来存储输出(用于logging和错误检查),并且还产生实时stream输出? 我的代码的相关部分: ret_val = subprocess.Popen( run_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True ) output, errors = ret_val.communicate() log_file.write(output) print output if( ret_val.returncode ): print "RUN failed\n\n%s\n\n" % (errors) success = False if( errors ): log_file.write("\n\n%s\n\n" % errors) 本来我是通过teepipe道run_command ,以便副本直接到日志文件,并仍然输出stream到terminal – 但这样我不能存储任何错误(我知道)。 编辑: 临时解决scheme: ret_val = subprocess.Popen( run_command, stdout=log_file, stderr=subprocess.PIPE, shell=True ) while not […]

为什么logcat不显示任何东西在我的Android?

为什么不logcat在我的Android显示任何东西(用Eclipse开发应用程序)? 它只是不打印任何东西。 它是空的。

日志logging,面向方面的编程和dependency injection – 试图理解这一切

我知道日志logging是AOP的主要用例。 此外,还要logging日志包装器,以便您可以使用DI,以便类不会与特定的日志logging实现结合使用。 但是, 有些人认为logging包装是一种反模式 。 首先,这样的观点是因为在大多数情况下,包装往往是简单的,并删除了日志框架的许多特定的function。 如果你实现这些特定的function,为什么不直接使用框架。 我意识到Common.Logging外观试图为您抽象log4Net,EntLib,NLog的大量function。 但是,即使在这里,我们仍然对Common.Logging有各种依赖。 不是在接口等代码/unit testing方式,但如果项目死亡(自上个版本已经超过一年),或者你希望后者切换到不支持的logging器,可能会导致问题。 也就是说, 如果通过AOP来实现日志logging,甚至有必要使用DI作为日志依赖 (也就是说为什么不直接引用NLog)? 是的,代码的AOP部分将被紧密耦合,但是人们想要unit testing的类的逻辑没有日志依赖性(至less在编织发生之前)。 在这一点上,我有点失落(我还没有尝试过AOP)。 编织之后,会不会有AOP代码使用DI导致unit testing方法出现问题? 或者可以一个unit testing而不编织AOP代码? 除非日志logging是软件用户的要求,否则我不确定testing日志logging是否发生在mock中是多么有用。 我认为被测方法的业务逻辑是大多数人对testing感兴趣的。 最后,如果想要使用TDD / BDD,那么在AOP代码中不需要使用DI进行日志logging依赖关系吗? 或者只是不试驾 AOP的一面呢? 正如你所看到的,我试图去感受一下开发一个应用程序的最实际的方法是什么,这个应用程序可以同时使用AOP和横向关注以及DI进行devise/testing。 由于AOP是相对较新的,日志logging是最常见的例子,所推荐的方法是什么?

Pythonstring格式:%与.format

Python 2.6引入了str.format()方法,其语法与现有的%运算符略有不同。 哪个更好,哪些情况? 以下使用每种方法,并有相同的结果,所以有什么区别? #!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c […]

Chrome / Firefox console.log总是附加一行说明未定义的行

每次执行console.log ,都会在输出日志中附加一行说明undefined的行。 Firefox和Chrome在Windows和Linux上都会出现。