GithubHelp home page GithubHelp logo

Comments (3)

tombruijn avatar tombruijn commented on June 27, 2024 1

Hi again @Manfred,

We've looked into the issue as previously updated. To come back to your original issues:

  1. AppSignal should never crash my application
    • Indeed. We're doing our best to make sure it doesn't crash. Sometimes it does but we aim to fix that ASAP when it happens.
  2. When used in Rails, AppSignal should not log outside of the Rails root unless explicitly instructed to do so
    • The team has discussed this and we don't necessarily agree. We'll fall back on the system /tmp dir when the Rails project directory is not writable. But if that's not writable either we will log to STDOUT if possible. The Rust agent however, can't do that and will most likely fail to start. This is a permission issue we're aware of.
  3. When creating temporary log files AppSignal should probably rely on Tempfile, which does the correct (and more secure) thing for each operating system
    • We can't use the Ruby Tempfile class as we can't expect the Rust agent to reliably write to it. It's removed from the file system once the parent Ruby process exits. This makes it unreliable for us to write to between deploys and restarts of an application.

We're going to close this issue. Let me know if you have any other feedback regarding this issue. You can track our progress on supporting more methods of logging in #184

from appsignal-ruby.

thijsc avatar thijsc commented on June 27, 2024

This is indeed a pretty serious bug. Assumption number 1 is one of the most important things we try to live up to. I think assumption 2 and 3 make a lot of sense. We'll see if we can make that happen.

We'll work on a fix for this and will get back to you.

from appsignal-ruby.

tombruijn avatar tombruijn commented on June 27, 2024

I've added better checks in #158 and #160 for point 1.
We will log to STDOUT if no viable log path is found.

Nothing for point 2 yet, we still fallback on /tmp/appsignal.log if the project path is not writable.

We can't really fallback on Tempfiles in Ruby as we log to the same logfile in our rust agent as well. We'll have to log to somewhere, anywhere, else if there's no viable log path on the system since the agent's STDOUT doesn't output in the Ruby process.

from appsignal-ruby.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.