如何使rails+unicorn记录器线程安全?

2024-03-30

我们一直在使用 unicorn 来部署我们的应用程序。除了 Production.log 文件之外,一切都很顺利,由于 unicorn 的设计方式,该文件无法读取。 unicorn 的每个实例都写入同一个文件,导致所有行都拼凑在一起。

那么有没有办法告诉记录器跨多个独角兽实例独立记录呢?


编辑你的unicorn.conf.rb,并更改after_fork阻止类似:

after_fork do |server, worker|

  filepath = "#{Rails.root}/log/#{Rails.env}.#{worker.nr}.log"
  Rails.logger = Logger.new(filepath, File::WRONLY | File::APPEND)
  ActiveSupport::LogSubscriber.logger = Rails.logger
  ActionController::Base.logger = Rails.logger
  ActionMailer::Base.logger = Rails.logger
  ActiveResource::Base.logger = Rails.logger

end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使rails+unicorn记录器线程安全? 的相关文章

  • Googlebot 收到现有模板缺少模板错误

    在过去的几天里 当谷歌机器人尝试访问我们的主页 欢迎 索引 时 我们开始收到缺少模板的错误 我已经盯着这个看了几个小时 知道我只是错过了一些简单的东西 A ActionView MissingTemplate occurred in wel
  • 如何阻止与 RSpec 和 Capybara 的外部连接?

    在我的 Rails 项目中 我想编写非理想条件的测试 例如缺乏互联网连接或超时 例如 我正在使用 gem 来联系 API 并且希望确保在我的应用程序和外部 API 之间存在连接问题时能够正确处理错误 我已经可以通过用录像机制作固定装置并从
  • 请求完成时间大于 ActiveRecord 和 View 时间之和

    以下是一些示例请求完成时间 Completed 200 OK in 1054ms Views 10 8ms ActiveRecord 455 6ms Completed 200 OK in 1410ms Views 11 6ms Activ
  • 如何使用logging.conf文件使用RotatingFileHandler将所有内容记录到文件中?

    我正在尝试使用RotatingHandler用于 Python 中的日志记录目的 我将备份文件保留为 500 个 这意味着我猜它将创建最多 500 个文件 并且我设置的大小是 2000 字节 不确定建议的大小限制是多少 如果我运行下面的代码
  • Rails:format.js 或 format.json,或两者?

    可能很明显 但我仍然缺乏基本知识 那么在控制器内部 两者都可以使用 还是总是 Javascript 所以两者是相同的 json and js是两种不同类型的响应 它们在 Rails 中被定义为不同的 MIME 类型 Mime Type re
  • 多态控制器和调用对象

    我的地址具有多态关系 可以由成员或依赖者拥有 一切看起来都很棒 直到我意识到除非我遗漏了一些东西 否则我不知道创建它的对象是什么类型 有没有办法告诉路由文件包含对象的类型 Models class Member lt ActiveRecor
  • Rails 注释分段错误

    有一些问题围绕着这个问题 但没有什么真正能满足我的需求 After I bundle install下面列出了我的 Gemfile 我运行annotate并出现以下错误 Users nickcoelius rvm gems ruby 1 8
  • Python 中上下文相关的日志级别

    我正在用 Python 制作一个 Web 应用程序框架的原型 主要是为了教育目的 但我一直坚持一个我一直想要的功能 每条路由的日志级别 此功能的目标是识别我们正在执行诊断的一些特定入口点 例如 我想跟踪呼叫者拨打电话时发生的情况POST s
  • 为什么“rails server -e production”会出现“没有路由匹配“/”并且样式表未加载?

    它正在运行 Rails 3 0 0 或 Rails 3 0 5 使用 Ruby 1 9 2 当处于开发模式时 rails server then http 本地主机 3000 http localhost 3000一切正常 并且http l
  • 使用数据库进行日志记录

    大多数日志似乎都是纯文本形式 而不是放入 MySQL 其他类型的数据库中 这是否有原因 在我看来 将它们放入数据库将使分析变得非常非常容易 但这会以牺牲速度还是其他什么为代价 我不太关心可移植性 显然你会有数据库连接的文本日志 我能想到两大
  • 资产管道弃用警告 tsort.rb:226

    我的 Rails 4 2 在开发中运行良好 但在生产环境中我收到以下警告 DEPRECATION WARNING The configuration option config serve static assets has been re
  • Rails 3 + angularjs + 缩小在生产中不起作用:未知提供者:eProvider

    我已遵循我能找到的所有修复缩小的说明 例如 var MyController function renamed scope renamedGreeter MyController inject scope greeter and someM
  • 目前最流行的 Ruby on Rails AUTHORIZATION gem/plugin 是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Heroku 部署错误

    在 Windows 环境中 尝试部署到 Heroku 时出现以下错误 C Ruby lib ruby gems 1 8 gems heroku 1 9 13 lib heroku commands base rb 32 in 没有这样的文件
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • 覆盖 logback 配置

    有什么方法可以覆盖 logback 配置吗 我知道我们在名为的文件中定义了 logback 配置logback xml 通常存储在路径中src main resources 并且我知道通过使用
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 如何使用 Rspec 测试具有嵌套路由的控制器?

    我有 2 个使用轨道脚手架生成器创建的控制器 我希望它们嵌套在一个名为 demo 的文件夹中 所以运行 rails g scaffold demo flows rails g scaffold demo nodes 然后我决定将节点嵌套在流
  • (Rails) Assert_Select 的烦人警告

    有谁知道如何让assert select在rake测试期间不输出所有那些讨厌的html警告 你知道 就像这样的东西 ignoring attempt to close body with div opened at byte 1036 li
  • 使用 Ruby aws-sdk 跟踪文件到 S3 的上传进度

    首先 我知道SO中有很多与此类似的问题 在过去的一周里 我读了大部分 如果不是全部 但我仍然无法让这项工作为我工作 我正在开发一个 Ruby on Rails 应用程序 允许用户将 mp3 文件上传到 Amazon S3 上传本身工作正常

随机推荐

  • 即使从 BIOS 设置启用虚拟化后,也无法在 Windows 10 Home 上运行 Docker Toolbox

    在运行 docker faststart 终端时出现以下错误 运行预创建检查 预创建检查出错 这 计算机未启用 VT X AMD v 在 BIOS 中启用它是 强制 看起来步骤 检查是否 出了问题 机器默认存在 按任意键继续 我已经尝试了从
  • 有没有办法让flymake只在保存时才编译

    当我输入 Flymake 时 光标会稍微悬起 这有点烦人 我想知道是否有一种方法可以告诉 Flymake 在每次更改某些内容时不要解析和编译 只需在保存时执行即可 还有其他建议吗 Thanks 您可以覆盖flymake after chan
  • 退出vim后保持编辑文件的视图

    当我退出 vim 时 显示内容将恢复为我进入之前所看到的内容 在非 vim vi 上 除了底线之外 您可以保持 vi 屏幕完整 vim 中是否有一个选项允许后一种行为 Vim 使用一个称为备用屏幕在那里编写它的 UI 并在退出时恢复原始 s
  • 在 Swift 中获取 PHAsset 的位置

    由于某种原因location财产在PHAsset仅在 Objective c 中公开 在 Swift 中不公开 文档 PHAsset location https developer apple com library prerelease
  • React Props 未定义

    我无法理解为什么我的 props updateBuilding 不起作用 当 prop 位于 render 方法中时 以下内容有效 class Buildings extends Component constructor props su
  • Apache 不使用 mod_rewrite.c

    所以我只是用 debian apache 等设置了一个 linode 服务器 现在我试图让我正在开发的应用程序运行 但它需要mod rewrite c 因此 很自然地 我转到应用程序的目录 如果重要的话 可能是 PHP 目录 并创建了一个
  • Ember CLI 在生产中失败

    我正在通过 jenkins 部署 Ember CLI 应用程序并使用 nginx 发布它 这是詹金斯构建脚本 npm install bower install node modules ember cli bin ember build
  • preg_replace + UTF-8 在一台服务器上不起作用,但在另一台服务器上起作用

    echo preg match b b iu 由于某种原因 此代码在我测试过的几台服务器上返回 1 但在一台特定服务器上返回 0 PCRE 编译时支持 UTF 8 和 Unicode 属性 可能是什么问题 PHP 使用的 PCRE 版本之间
  • 动画 CALayer 隐藏

    我试图隐藏一个CALayer几微秒后我正在使用CABasicAnimation为隐藏设置动画 目前我正在尝试使用 aLayer setHidden YES CABasicAnimation hideAnimation CABasicAnim
  • Jython :: PythonInterpreter 可以使用哪些模块以及如何添加更多模块

    我正在使用Jython 2 5 3 PythonInterpreter类来评估一些简单的脚本 但是当我需要导入任何非核心模块时 我会得到一个异常 我必须在 CLASSPATH 中添加一些 jython 库 jar 吗 缩小演示问题的代码范围
  • R 2.14 字节编译 - 无法使用 install.packages 进行?

    看来 R 2 14 可以使用开关来字节编译包R CMD INSTALL但我在 install packages 文档中找不到这样的选项 我错过了什么吗 正如它所说 install packages 您可以使用INSTALL opts 将附加
  • 无法捕获 lambda 中的静态变量[重复]

    这个问题在这里已经有答案了 这看起来很奇怪 我可以捕获静态变量 但前提是该变量未在捕获列表中指定 即它隐式捕获它 int main int captureMe 0 static int captureMe static 0 auto lam
  • Oracle APEX:弹出菜单

    我见过在这个应用程序 http apex oracle com pls apex f p 20411 1 888811517916461一个弹出窗口 里面有一个表单 任何人都可以帮助我构建一个这样的弹出窗口 或者是否有任何教程可以让我看到它
  • 在 Less 中组合多个“转换”条目

    我有两个 mixin 它们都转换为 webkit transform rotate deg webkit transform rotate deg scale factor webkit transform scale factor 当我一
  • 导入javafx.scene.control.Alert无法解析

    我在 Eclipse 中遇到以下两个导入错误 import javafx scene control Alert import javafx scene control Alert AlertType 错误是 导入javafx scene
  • 如何以编程方式关闭 VB.NET 中的 ComboBox 下拉菜单?

    在 Windows 窗体应用程序 VB NET 中 我有一个组合框 在某些条件下 当用户打开下拉列表时 我想显示一条警告消息 所有这些都运行良好 在 DropDown 事件中 我检查条件 如果需要 我会显示警告消息 问题是 当用户在警告消息
  • 如何向 Atom 的拼写检查词典添加单词?

    试图从 Atom 的拼写检查器中获得更多功能 但目前的误报使其变得不太有用 如何将单词添加到 Atom 词典中 使其不再显示为拼写错误 该功能已发布版本1 12 of Atom 实施于请求请求 120 https github com at
  • 如何在 Laravel 5.2 中手动发送密码重置请求?

    我想从控制器内手动向特定用户 不是当前登录的用户 发送密码重置请求 我在 Laravel 代码中做了一些挖掘 看来我应该调用postEmail Request request in ResetsPasswords 但我似乎不知道如何访问右侧
  • 如何在 Ruby on Rails 中调用 API(例如 Flickr API)?新手问题

    我正在用 Rails 构建我的第一个应用程序 我想调用 Flickr 的 API 我知道我可以使用 flickr fu rflickr 或其他 gem 但我想自己从头开始学习 比如说 我想打电话flickr photos comments
  • 如何使rails+unicorn记录器线程安全?

    我们一直在使用 unicorn 来部署我们的应用程序 除了 Production log 文件之外 一切都很顺利 由于 unicorn 的设计方式 该文件无法读取 unicorn 的每个实例都写入同一个文件 导致所有行都拼凑在一起 那么有没