草庐IT

ruby - 登录 Sinatra?

我无法弄清楚如何使用Sinatra记录消息。我不是要记录请求,而是要在我的应用程序的某些点上自定义消息。例如,在获取URL时,我想记录"Fetching#{url}"。这是我想要的:指定日志级别的能力(例如:logger.info("Fetching#{url}"))在开发和测试环境中,消息将写入控制台。在生产中,只写出与当前日志级别匹配的消息。我猜这可以在config.ru中轻松完成,但我不能100%确定要启用哪个设置,以及是否必须手动创建一个Logger我自己的对象(此外,要使用哪个类的Logger:Logger、Rack::Logger或Rack::CommonLogger).(

ruby - 我怎样才能将 ruby​​ logger 日志输出到 stdout 和文件?

有点像记录器中的T恤功能。 最佳答案 您可以编写一个伪IO类来写入多个IO对象。像这样的东西:classMultiIOdefinitialize(*targets)@targets=targetsenddefwrite(*args)@targets.each{|t|t.write(*args)}enddefclose@targets.each(&:close)endend然后将其设置为您的日志文件:log_file=File.open("log/debug.log","a")Logger.newMultiIO.new(STDOUT,

ruby-on-rails - rails : Logging the entire stack trace of an exception

我一直在尝试找出记录堆栈跟踪的正确方法。我遇到了this链接指出logger.error$!,$!.backtrace是要走的路,但这对我不起作用log_error。根据文档,我看不出将第二个参数传递给错误方法是如何工作的,因为rails使用的ruby​​记录器只接受一个参数。奇怪的是(或者可能不是)第二个论点被接受了,没有任何口译员的提示。但是,我传递给它的任何内容都将被忽略。谁能解释一下我错过了什么?对错误的第二个论点是什么以及是什么吞噬了它有什么见解吗? 最佳答案 如果您查看ActiveSupport中BufferedLogg

javascript - 调试 AllAuth : social account not logging user in despite connecting successfully

单击登录表单中的facebook登录按钮会正确显示fb登录弹出窗口,但在输入凭据后弹出窗口关闭并且没有任何反应。在不重新加载页面的情况下再次单击按钮确认fb帐户已连接,因为浏览器控制台打印:FB.login()calledwhenuserisalreadyconnected.然而,用户数据库中没有新条目出现,用户没有被重定向,也没有登录。所以问题似乎出在AllAuth处理事情的方式上。但是在后端的任何地方都没有出现任何调试信息,这使得这有点难以弄清楚。这是allauth设置:LOGIN_REDIRECT_URL='/'LOGOUT_REDIRECT_URL='/'DEFAULT_FRO

javascript - 是否有可能为 `goog.debug.Logger` 获得更好的输出(如 `console.log` )?

google-closure库还包含一个loggingsystem大多数开发人员应该很熟悉。这很好。不幸的是,您从中获得的输出不如使用某些浏览器/插件提供的console.log时的表现力。例如,如果您在Chrome中编写console.log(window),控制台将显示一个您可以交互式检查的对象。使用google-closure记录器时,它不会那样做。我假设它会在内部简单地将对象的字符串表示形式传递给console.log。所以你失去了很多便利。正因为如此,我仍然继续使用console.log。但是,如果运气不好,您忘记将其从生产代码中删除,您的代码将在没有console.log(

javascript - 将控制台传输附加到 Winston 日志记录

所以我正在尝试将控制台作为传输连接到winstonlogger。下面是我的代码。winston.add(winston.transports.Console,{level:'info',colorize:true,timestamp:true,json:false,stringify:false,prettyPrint:true,depth:5,humanReadableUnhandledException:true,showLevel:true,stderrLevels:['error','debug']});但是当我启动应用程序时,出现以下错误。C:\Users\xxxxx\yyy

javascript - 如何有效地使用日志记录机制?

我正在使用log4javascript来记录和跟踪我的JavaScript代码中的问题。我以前见过类似的日志记录辅助工具,但我很难理解应该如何使用这些日志级别中的每一个才能更有用和更有成效。大多数时候,我最终会记录调试、信息或跟踪,但并没有真正意识到它们各自的效率如何。随着代码变得越来越大,它变得越来越困难,我觉得日志麻烦多于帮助。有人可以给我一些指南/帮助,以便我可以很好地使用日志记录机制。以下是log4javascript支持的不同日志级别:log4javascript.Level.ALLlog4javascript.Level.TRACElog4javascript.Level.

javascript - ionic + Genymotion : JavaScript logs

我正在尝试在Linux上使用Ionic创建一个应用程序。我使用模拟器Genymotion,因为ADB在我的电脑上不起作用(黑屏直到时间结束)。使用ionicrunandroid在Genymotion上运行应用程序没有任何问题,但我想知道如何查看JavaScript日志(我需要检查插件cordova文件有什么问题)。我试图通过浏览器查看它,但它不起作用。 最佳答案 将adb设置为genymontion的IP。运行Chrome输入此网址chrome://inspect/#devices享受吧。

javascript - 是否可以在 Debug模式下运行 chrome?

首先,我真的不确定这是super用户还是Stack-Overflow的问题。它可能对其他开发人员当然有用,但它不是特定的代码问题。在谷歌浏览器中有没有办法查看渲染引擎异常或一般调试信息?我有一些代码,我99%肯定会崩溃chrome的渲染/重绘引擎但是(我在mac上)在Console.app中我没有收到异常通知。我想知道是否有一种方法可以强制chrome在其日志记录中更加冗长?也许这是一个webkit的东西,而不是特定于chrome的东西。如果这真的不是堆栈溢出,请告诉我,我会删除/关闭问题,就像我说的那样,我知道它不是特定于代码的。 最佳答案

JavaScript 面向对象 : Implementation of Logging

我写了下面的代码,通过OOP在一个单独的js文件logger.js中实现日志记录。varconsole;functionLogger(){init();}varinit=function(){if(!window.console){console={log:function(message){},info:function(message){},warn:function(message){},error:function(message){}};}else{console=window.console;}};Logger.prototype.log=function(message)