Comments (4)
I am fine with renaming the methods in the plugin DSL to be clearer in theory, but I think it should be a separate consideration, and we'd want to consider if any 3rd parties are depending on the current method names.
I agree that it should be a separate change, if we do it, but I don't see much value in renaming the methods.
As for the load/unload strategy, is every plugin capable of being cleanly unloaded? For instance, the ones that do monkey patching and/or prepend modules?
This would be good to know... If the answer is no, then it seems the rest of this is moot.
Btw, not sure if it's helpful, but we also have a plain ruby mode which is another way to get around this issue (but you have to manually call
Honeybadger.load_plugins!
).
I didn't know this existed. :) It feels like this accomplishes the goal without having to make any code changes. :)
from honeybadger-ruby.
I am fine with renaming the methods in the plugin DSL to be clearer in theory, but I think it should be a separate consideration, and we'd want to consider if any 3rd parties are depending on the current method names.
As for the load/unload strategy, is every plugin capable of being cleanly unloaded? For instance, the ones that do monkey patching and/or prepend modules?
Btw, not sure if it's helpful, but we also have a plain ruby mode which is another way to get around this issue (but you have to manually call Honeybadger.load_plugins!
).
cc @stympy
from honeybadger-ruby.
As for the load/unload strategy, is every plugin capable of being cleanly unloaded? For instance, the ones that do monkey patching and/or prepend modules?
I think, if we care about it, then yes. You can't remove a prepended module, but you can at least make its behaviour dynamic.
we also have a plain ruby mode which is another way to get around this issue
Yeah, but I think that moves a lot of the work to the user.
We could ignore all this for now, but the main blocker is the proposed logging feature outside of Rails apps. Since it's disabled by default, the user must enable it before plugins are loaded. But we can also go with one of these workarounds:
- support an env variable for this (eg
HONEYBADGER_SEMANTIC_LOGGER_APPENDER
). - always load the plugin, and check the config setting dynamically on every usage.
from honeybadger-ruby.
Closing this since we don't need it for the logging bit right now and there's a workaround available.
from honeybadger-ruby.
Related Issues (20)
- Invalid class_name param in documentation HOT 1
- Use nested context from objects where available
- Sidekiq 7.1.5 and later changes number of arguments for error handlers
- Add check-in configuration sync HOT 2
- Automate releases with Github Actions
- Flaky test in JRuby test matrix entry
- Allow check-ins to be made by slug as well as id. HOT 8
- Avoid bundling unnecessary dependencies in published gem HOT 3
- Exceptions raised in jobs from Solid Queue are not automatically reported HOT 10
- Sanitizer#filter_key? returns a warning for Numeric hash keys HOT 5
- ActiveJob premature reporting HOT 2
- ActiveJob rescued exceptions should not be reported HOT 2
- Honeybadger.context returns Honeybadger::Agent when passing a block
- good_job related exception at app startup HOT 8
- exception if active job is configured to use a queue adapter via a class HOT 3
- Insights support appears to not work on Rails 3.2 HOT 3
- Change `events.ignored` array configuration setting to allow objects
- The `bigdecimal` gem needs to be added as an explicit dependency HOT 2
- Console logs are being polluted after latest version bump HOT 1
- [Feedback Form] Populate form with dynamic values
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from honeybadger-ruby.