标签: logging

将整个对象转储到C#中的日志的最佳方法是什么?

因此,为了在运行时查看当前对象的状态,我非常喜欢Visual Studio立即窗口给出的内容.只是做一个简单的

? objectname
Run Code Online (Sandbox Code Playgroud)

将给我一个格式良好的"转储"对象.

有没有一种简单的方法在代码中执行此操作,因此我可以在记录时执行类似的操作?

c# debugging logging object visual-studio

118
推荐指数
10
解决办法
11万
查看次数

是否有"vim运行时日志"?

有时我在我的vimrc中尝试自定义/命令.一切都是正确的,但它不起作用.

很难知道当vim启动时发生了什么,并且知道哪个命令失败了,所以很难调试可能导致我的vimrc出现问题的原因.这是一种试错法,耗时而且真的是PITA.例如,我在某些文件中遇到了snipmate插件的问题,并且没有关于如何发现问题的线索.

当vim启动时是否有"运行时日志",告诉它执行哪些命令,哪些命令失败等等?这对我很有帮助.

vim logging runtime

118
推荐指数
3
解决办法
5万
查看次数

在SLF4J/Logback中使用标记的最佳实践

我们在我们的项目中使用SLF4J + Logback组合已经有一段时间了,并且对它非常满意,但是我们的日志记录策略相当简单,使用简单的基于类的记录器并且没有像MDC或Markers这样的花哨的东西.

我想知道的是,社区中是否有人实际使用这些功能以及它们如何用于改进日志记录/过滤.

我特别感兴趣的是在哪里,为什么以及如何使用[1]标记进行记录.他们认为这是一个非常简洁的功能,可以在记录中添加语义上下文 - 例如,当一个类可能正在处理多个问题时,可以使用任务/关注特定标记来区分日志语句.

在日志记录中创建和使用标记的最佳实践,约定或策略可能是什么.

更新:我想,我真正追求的不是为什么使用标记,而是如何使用标记- 是否有一些命名标记的好方法(例如使用带空格的明文或短划线/下划线/标点符号分隔的关键字样式名称),是否应该有某种"标准名称"池,根据业务功能命名.我可以为自己解决的问题,但如果我想系统地使用这些功能并将它们介绍给开发人员团队,那么就可以制定一些可正式的指导方针......


[1] - 通过询问如何使用标记我并不是真的问如何使用API​​(它确实非常直接) - 我更倾向于指出如何设置使用标记一致地记录的更一般级别

java logging logback markers slf4j

118
推荐指数
4
解决办法
5万
查看次数

如何让java日志输出显示在一行?

目前,默认条目如下所示:

Oct 12, 2008 9:45:18 AM myClassInfoHere
INFO: MyLogMessageHere
Run Code Online (Sandbox Code Playgroud)

我怎么做到这一点?

Oct 12, 2008 9:45:18 AM myClassInfoHere - INFO: MyLogMessageHere
Run Code Online (Sandbox Code Playgroud)

澄清我正在使用java.util.logging

java logging

117
推荐指数
8
解决办法
10万
查看次数

如何使用Retrofit-Android记录请求和响应正文?

我在Retrofit API中找不到用于记录完整请求/响应主体的相关方法.我期待在Profiler中提供一些帮助(但它只提供有关响应的元数据).我尝试在Builder中设置日志级别,但这对我没有帮助:

RestAdapter adapter = (new RestAdapter.Builder()).
                setEndpoint(baseUrl).
                setRequestInterceptor(interceptor).
                setProfiler(profiler).
                setClient(client).
                setExecutors(MyApplication.getWebServiceThreadPool()).
                setLogLevel(LogLevel.FULL).
                setLog(new RestAdapter.Log() {
                    @Override
                    public void log(String msg) {
                        Log.i(TAG, msg);
                    }
                }).
                build();
Run Code Online (Sandbox Code Playgroud)

编辑:此代码现在正在运行.我不知道它为什么不提前工作.可能是因为我正在使用一些旧版本的改造.

logging android retrofit retrofit2

117
推荐指数
5
解决办法
10万
查看次数

Log4net滚动每日文件名,文件名中包含日期

我想以文件命名为例:

dd.mm.yyyy.log

log4net怎么可能这样?

c# logging log4net filenames

116
推荐指数
7
解决办法
12万
查看次数

Chrome的JavaScript控制台是否懒于评估数组?

我将从代码开始:

var s = ["hi"];
console.log(s);
s[0] = "bye";
console.log(s);
Run Code Online (Sandbox Code Playgroud)

简单吧?对此,Firebug说:

["hi"]
["bye"]
Run Code Online (Sandbox Code Playgroud)

很棒,但Chrome的JavaScript控制台(7.0.517.41 beta)说:

["bye"]
["bye"]
Run Code Online (Sandbox Code Playgroud)

我做错了什么,或者Chrome的JavaScript控制台在评估我的阵列方面特别懒惰?

在此输入图像描述

javascript arrays console logging google-chrome

116
推荐指数
4
解决办法
2万
查看次数

登录Java有什么用?

为什么人们会使用以下其中一个而不是另一个?

  • Java日志记录
  • Commons Logging
  • Log4j的
  • SLF4J
  • 的logback

java logging log4j logback slf4j

115
推荐指数
4
解决办法
1万
查看次数

什么是最好的Haskell库来实现程序?

如果我要将一个程序投入生产,我需要该程序做几件事,以便将其视为"操作化" - 即,工程师和操作人员以可测量和可验证的方式运行和维护.就我的目的而言,一个可操作的计划必须:

  • 能够记录多个级别(例如:调试,警告等).
  • 能够收集和分享有关该计划正在进行的工作类型以及该工作需要多长时间的指标/统计数据.理想情况下,收集的指标可以采用与Ganglia等常用监控工具兼容的格式,也可以如此使用.
  • 可配置,理想情况下通过允许更新正在运行的程序中的已配置属性而无需重新启动所述程序的系统.
  • 可以以可重复的方式部署到远程服务器.

在Scala世界中,有很好的库可以处理至少前三个要求.例子:

至于部署,Scala世界采用的一种方法是将字节码和包含一个程序的库捆绑在一起,例如assembly-sbt,然后使用像Capistrano这样的工具将生成的包("胖JAR")推送到远程服务器通过SSH并行执行命令.这不是一个需要特定语言工具的问题,但我很好奇Haskell社区中是否存在这样的工具.

可能有Haskell库提供了我上面描述的特征.我想知道哪些库可以被认为是"最好的"; 也就是说,它是最成熟,维护良好的,常用于Haskell社区,是Haskell最佳实践的典范.

如果有任何其他库,工具或实践使Haskell代码"生产就绪",我也很想知道这些.

logging metrics haskell

115
推荐指数
3
解决办法
6690
查看次数

如何记录start-stop-daemon启动的进程的stdout?

我使用init脚本来运行一个简单的进程,该进程以:

start-stop-daemon --start --quiet --chuid $DAEMONUSER    \
    --make-pidfile --pidfile $PIDFILE --background       \
    --exec $DAEMON $DAEMON_ARGS
Run Code Online (Sandbox Code Playgroud)

名为$ DAEMON的进程通常将日志信息打印到其标准输出.据我所知,这些数据没有存储在任何地方.

我想将$ DAEMON的stdout写入或附加到某个文件中.

我知道的唯一解决方案是告诉start-stop-daemon直接调用一个shellscript而不是$ DAEMON; 然后脚本调用$ DAEMON并写入日志文件.但这需要一个额外的脚本,就像修改守护进程本身一样,似乎是解决这种常见任务的错误方法.

logging stdout init.d start-stop-daemon

115
推荐指数
6
解决办法
9万
查看次数