Comments (9)
Since you want ip address, you are lucky that Rails can do it for you. The log_tags
option exists in production.rb
config.log_tags = [ :remote_ip ]
from lograge.
I also had to do a lot of digging and finally found the ip address here:
event.payload[:headers][:REMOTE_ADDR]
from lograge.
event.payload[:request].remote_ip
seems to be providing the expected results for lograge 0.11.2
from lograge.
As a newcomer to lograge and someone that simply wanted to add IP to logs, I feel this issue is not quite well documented. I've tried the suggested code and I get an empty "ip=" output. The IP is sometimes the only way to match a Rails request with whatever is serving HTTP traffic to the app (Puma, Nginx, ...) so it seems like something pretty useful to have by default.
from lograge.
You can add extra info to the instrumentation payload without the need for monkeypatching by overriding ActionController::Base#append_info_to_payload
in your ApplicationController like so:
class ApplicationController < ActionController::Base
# ...
def append_info_to_payload(payload)
super
payload[:ip] = request.remote_ip
end
end
Then you can add it as a custom lograge field in your environment config.
from lograge.
As extra clarification, to add it as a custom lograge field per @urbanautomaton's previous message you will need this block in config/initializers/.rb:
config.lograge.custom_options = lambda do |event|
{:ip => event.payload[:ip]}
end
from lograge.
Eh not really an elegant solution, but I suppose this will work
from lograge.
@lulalala does it output remote_ip=0.0.0.0
from lograge.
I think this stuff is well documented now so I'll close this issue.
from lograge.
Related Issues (20)
- No logs shown in CloudWatch when lograge is enabled (Rails/ECS/Fargate) HOT 1
- Why are we striping params for redirect url?
- [Question] Project status HOT 2
- Monkey patching of Rails::Rack::Logger#call_app loses request.action_dispatch instrumentation HOT 1
- [Question] Logstash-event loaded from gh
- How to add extra log payload in action cable?
- Rails support HOT 1
- Should we demote some of our formatters to "contrib"?
- Unable to Filter ActionCable Params HOT 2
- exception cannot show on rescue_from custom handler exception HOT 1
- custom_payload is "persisted' (or per se kept) between 2 requests HOT 4
- Request: new gem release HOT 5
- Any thoughts on supporting `Turbo::StreamsChannel`? HOT 1
- Sinatra support? HOT 1
- Simpler way to remove all log subscribers. HOT 3
- Redirect in routes not handled by lograge
- Confused about what Rails logging is eliminated HOT 1
- ActionView logs not completely suppressed with Rails 7.1+
- TypeError: no implicit conversion of String into Integer when adding lograge to Rails project with Rack 3.0.9 and Puma 6.4.2 HOT 3
- Suggestion from Rails regarding better patching mechanism
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 lograge.