- Support Rails 7.1.
- Make level at which exceptions are auto detected configurable. Defaults to
Logger::ERROR
.
- Expose interface for cookie obfuscation.
- Fixes that filtering cookies did not handle regular expressions anchored at the beginning of a string correctly.
- Fixes that setting the error logger to
nil
would crash.
- Fixed that objects other than strings caused the logger to crash.
- Support logging embedded json instead of text. Here embedded means the usual logger prefix is still added to each line.
- Changed format of HTTP request completed line to be "Completed: #{data.to_json}"
- Reduced Rails HTTP Request logging to a single line with JSON content.
- Support suppressing sending data to Logjam and also loggin to the
log device via an URL regex pattern list
Logjam.ignored_request_urls
.
- Allow selective logging to be globally disabled
- Added selective logging
- Fixed that loggers without log device crashed the agent
- use monotonic clocks to measure request runtime
- make Sinatra log formatter configurable and default it to the Ruby default one
- supports arbitrary log formatters, including the Ruby default one
- drops support for Rails versions before 5.2
- don't log an error when the response to a sync message is correct
- don't run at_exit handlers in child processes
- use Ruby 3.1.1 in GitHub actions
- add wait_time_ms field to logjam request before dispatching
- updated Appraisals
- Rails 6.0.4.4 and Ruby 3.1.0 are not compatible
- added Ruby 3.1.0 to CI/CD
- only test Rails 7.0.0 with Ruby >= 2.7.0
- updated ruby versions for github actions
- updated Appraisals
- switched to GitHub actions
- updated appraisals
- removed gemfiles created by appraisal and ignore them
- added tests for passing sender and trace id headers
- draft implementation for trace ids
- commented out test output
- added makefile
- db changes
- rails 5 is not compatible with ruby 3
- adapted welcome controller test for different rails versions
- don't check in Gemfile locks
- updated ruby versions for travis
- fixed integration tests
- updated appraisals
- suppress Ruby 2.7 warnings in action controller tests and crashes in 3.0.0
- removed deprecated Socket.gethostbyname call
- patch ffi-rzmq to work with ffi 1.14.0
- don't deadlock when sending ping fails
- socket needs to be protected by a mutex to avoid broken ZMQ messages
- updated ruby versions on travis
- require latest time_bandits version
- try fixing travis build
- added integration tests
- support not sending a ping at exit. defaults to not running in dev or test mode.
- drop logger support for ancient Rails versions
- support inproc protocol for zmq forwarders
- move license to separate file
- Add rails app for testing
- activate Rails support only when Rails::Railtie is defined
- we don't need the sinatra-contrib gem
- make logjam_agent work with active_support 5.2. again
- raise middleware exceptions in Rails test environment
- fix stupidity
- don't send empty fields
- fixed that additions can be nil
- uuid4r is no longer used
- require user to call use LogjamAgent::Sinatra::Middleware
- updated copyright notice
- added Sinatra info to README
- truncate overlog parameters
- handle logjam agent error logs for Sinatra
- set "rack.logger" to the logjam logger
- support ip spoofing in rails again
- test classic Sinatra app support
- simplified Sinatra application setup
- silence stupid warnings about uninitialized variables
- WIP: support Sinatra apps
- Set homepage url to github repository
- make formatter attributes thread safe
- use ActiveSupport::ParameterFilter when available
- deliver correct html on exception in middleware
- drop obsolete rubyforge_project assignment
- make sure to install socket at_exit handler after context at_exit handler
- send app-env as routing key for ping messages
- only send ping at exit once if socket has been opened
- only reset zmq connection when we round robin
- Reset socket if publish fails
- logjam_agent seems rails 6 compatible
- increased ZQM hwm values to 1000
- support LZ4 compression
- dropped support for rabbitmq transport
- respect LOGJAM_ENV if set
- Set homepage url to github repository
- fixed bug in line truncation
- improved line/message truncation algorithm
- added namespace to forwarded request
- forward cluster and datacenter information
- fixed index out of bounds problem when truncating strings
- allow cookies values to be as large as LogjamAgent.max_logged_cookie_size
- protect against logging overlong parameters
- silenced a stupid warning
- use workaround to place RemoteIp middleware correctly even with Rails 5+
- fixed a parameter filter regression caused by rails 5.1.2
- Split soft and hard exceptions by default.
- Merge pull request #28 from 0robustus1/master
- only connect to one single logjam device to preserve message sequencing
- protect against Rails 5 firing on_load multiple times
- Fix typo on concat
- base soft-exceptions split on a new option
- split exceptions into two classes
- return 403 instead of 500 when detecting a spoofing attack
- need fully qualified class name when rescuing spoof attack exceptions
- log ip spoofing attacks
- Allow to log on std outputs only
- Read version from REVISION file
- Add support for X-Starttime in seconds
- no change
- send ping message to logjam-device/importer on exit
- support publishing synchronously using LogjamAgent.start_request(:sync => true)
- switch to using a single DEALER socket for both sync/async messaging
- generate sequence numbers according to spec
- fixed broken tests
- go back to using alias_method to enable testing with rspec
- publish events synchronously. on failure, fall back to async
- fixed broken module.prepend which broke testing
- reformatted comment
- rack logger seems compatible with rails 5
- rails 5 now logs backtraces etc. with one logger call per line. we don't like that.
- rails 5 has deprecated alias_method_chain
- rails 5 has deprecated strings for middlewares
- correct default liner value in README
- add ignore_render_events option
- fixed that forwarder already encodes payload
- ensure that calling forwarder.forward directly encodes the payload
- make zmq publisher more robust against setting host to nil or blank string
- disable request forwarding when running in rails test environment
- allow logjam broker to be nil when logjam agent has been disabled
- allow specification of multiple hosts for zmq forwarder
- updated README.md
- we'll never need more than one zeromq io thread
- use default pull port for zmq forwarder
-
Merge pull request #20 from markschmidt/master
-
Merge pull request #22 from markschmidt/fix_0.19.0
-
bugfix: make sure remote ip is a string
-
Revert "set a cookie with the request id in the middleware"
-
Merge pull request #21 from markschmidt/remote_ip
-
use actionpack remote ip middleware for client ip
-
fix incoming etag header in middleware
- Merge pull request #19 from markschmidt/master
- set a cookie with the request id in the middleware
- it's zlib compression, not gzip
- added support for compressing logjam messages
-
allow suppressing disk logging altogether
-
Merge pull request #17 from JHK/log_level_device
-
configure min severity to error for logging to disk
- don't send authorisation header
- provide application revision with each request
-
describe overriding device logging on a per request basis
-
Merge pull request #15 from markschmidt/master
-
Added Request#log_device_ignored_lines
-
Revert "set frame_max option for amqp connection"
-
Merge pull request #14 from markschmidt/master
-
set frame_max option for amqp connection
- avoid calling forwarder when agent has been disabled
- Merge pull request #13 from BjRo/uuid_v4
- Switch to v4 when using uuid4r
-
added uploaded file size for logging purposes
-
Merge pull request #12 from pietbrauer/fix_closing_bracket
-
Remove superfluous closing bracket
- sending started_ms field with requests
- rescue Unknown HTTP methods
- reset logger attributes in rack middleware
- seems to be rails 4.2 compatible
- updated README
- use new meta_info format for messages
- only truncate lines with a log level less than error
- allow publishing of messages for other apps
- send X-Logjam-Request-Action from middleware
- send a sequence number and a timestamp on each request
- removed request-stream- prefix form first zmq frame
- Merge pull request #8 from plu/master
- Make logjam agent work on heroku.
- README changes
- limit size if log lines and total size of all log lines
-
protect against negative wait time
-
Version 0.9.11
-
don't add the Exception class to the list of autodetected exception classes
-
Merge pull request #7 from contaxt/changes
-
fix for strange implementations of self.<=> in external class definitions
-
rescuing from exception raised when collecting exceptions with compare
- use DONTWAIT instead of obsolete NonBlocking
- fixed that rails 4.1 calls start_processing twice
- start processing is still compatible in Rails 4.1.0
- enable tracking of apache wait time
- rescue pattern match exceptions potentially caused by character encodings
- optionally suppress writing log lines to log device
- configurable logging and forwarding of asset requests
- fixed fuscator typo
- fix ip logging by patching rack
- README typos
- README improvements
- fixed typo in README
- only try to obfuscate cookies if list of obfuscations is present
- fixed typo in README
- more ruby syntax coloring
- fix README formatting
- hide a few more variables
- added cookie obfuscation
- added ip obfuscation
- remove empty debug line
- updated README
- turn on exception class detection by default
- log forwarder exceptions on local log file
- provide add_forwarder method to avoid exposing Forwarders class
- automatically use default app and env names
- mention that zeromq is also an option
- upped time_bandits requirements
- fall back to SecureRandom if uuid4r cannot be laoded
- require bunny gem when instantiating an amqp forwarder
- enable flexible start_request syntax
- lose remnants of rails 2 support
- Rails might not be defined
- make sure logjam requests are created in test environment
- moved request cycle handling to module LogjamAgent
- removed the dubious hack to silently fetch the logjam request from the main thread
- fixed wrong version comparison
- fixed broken exception handling when using tagged logging
- fixed typo
- ignore .rvmrc
- more robust extraction of time bandits completion info
- now compatible with rails 4
- don't send caller_id back if it was blank
- log caller timeouts
- compatibility with older rails versions
- added action accessor
- analyze and set caller_action field on request
- update action filed on request as early as possible
- fixed json encoding of event fields
- ported events sending code to zmq forwarder and refactored a bit
- fixed typo in a rescue clause
- Ability to publish events to a new queue
- allow applications to change the action name sent to logjam
- support zeromq transport
- removed superflous blank
- switch to using ffi-rzmq
- fixed crash in rack logger
- use thread_variables gem
- user request.remote_ip
- use oj if application has it
- protect against trying to send uploaded files across AMQP and hogging the CPU with to_json
- try to preserve as much request info as possible
- also translate CONTENT_TYPE
- flush buffered logger at program exit
- hide more env variables
- Relax deps for rails version
- forgot to throw away RAW_POST_DATA
- fixed memory leak caused by bug in rails
- log request environment
- support logging from background threads
- access log level via logger accessor, because rails3 stores it on the encapsulated logger
- protect against ripple modifying to_json time formats
- use SyslogLikeFormatter as default
- automatically require time_bandits and logjam_agent/railtie
- fixed bug which prevented the automatic setting of Rails.logger for Rails version < 3.2
- rails 3.2 compatibility
- close AMQP connections on program exit
- use - as field separator
- use uuids for identifying requests
- need rake for releasing
- made SyslogLikeFormatter compatible with formmatter shipped with ruby stdlib
- forgotten .first
- use fully qualified domain names for logging
- changed the attributes interface
- move execption tracking setup to LogjamAgent module
- use rails excpetion formatting conventions
- syntax rulez!
- ignore anaonymous exception classes when auto detecting exceptions
- support auto detecting logged exceptions
- support logging exceptions and forwadring them to the request stream
- all inspecting forwarders easily
- renamed send to forward to avoid horrible confusion in logs
- code cleanup
- format microseconds with leading zeros
- support overriding environment name globally and per request
- formatting changes
- more accurate dependency
- rails 3 support
- removed whitespace from line for logjam
- allow disabling of forwarding for testing, for example
- need engine as part of the routing key
- we depend on timebandits
- rails 2 gem support
- rack middleware
- forgotten checkin
- allow reconnecting log device
- allow adding fields when starting/finishing requests
- added host name to log line
- provide accessor for setting application name
- next iteration
- somewhat usable now
- initial commit