* Initial work on Sidekiq::Config
* Initial work on Sidekiq::Config
* reduce dependencies in deploy marks
* bare sidekiq and webapp
* Modify runtime to work with Capsules
* Cleanup
* Rename test files to remove test_ prefix
* Update test suite and standard rules to be more compliant
* Move constant definition outside code, per standard formatting
* Loads of changes for introduction of Capsules
* Remove Redis adapter abstraction
* update capsule overview
* Ensure Sidekiq.redis uses the correct pool for jobs running within a Capsule
* Use default_capsule for safety
* Slow down the beat to halve its Redis overhead
* move config fixtures into cfg/
* Add capsule middleware test
* use accessor
Semantic Logger returns Symbol for `#level`:
```
[1] pry(main)> SemanticLogger[Sidekiq].level
=> :debug
```
so current code fails with
```
[2] pry(main)> Sidekiq.logger = SemanticLogger[Sidekiq]
=> #<SemanticLogger::Logger:0x00007f1d27984a18 @filter=nil, @level=nil, @level_index=nil, @name="Sidekiq">
[3] pry(main)> Sidekiq.logger.debug?
ArgumentError: comparison of Symbol with 0 failed
from /home/ojab/.rbenv/versions/3.1.1/lib/ruby/gems/3.1.0/gems/sidekiq-6.4.1/lib/sidekiq/logger.rb:39:in
`<='
```
Calling `#{level}?` methods on the logger directly instead of
comparing `#level` with integer fixes that.
If using `with` to add logging context, any context that has the same
keys as existing context will disappear after the with block completes,
instead of reverting back to the original context.
This fixes that by restoring the original context directly instead of
just deleting the keys from the `with` context.
* logger_formatter -> log_format
* avoid touching global Sidekiq.logger in JobLogger
* rewrite tests for compactness and coverage
* hide banner in JSON
* Check Config File Existence (#4054)
* Check config file existence
* Eager config file check
* Parse expanded path to default sidekiq.yml config file in Rails app
* Cleanup
* Add minitest-around
* Extract context from formatter
* Add JSON logger formatter
* Adjust job logger to handle elapsed time within context
* Add tid test
* Rename processor logger
* Enforce global state reset in logging tests
* Add warning about upcoming refactoring to Sidekiq::Logging
* Replace around hook with explicit stub inside test
It's implemented with fibers, which means Thread.current returns different values in JRuby.
* Fix typo
* Concise JSON formatter keys
* Add logger_formatter option
* Shift context from array of strings to hash
Allows more flexibly format context in the different formatters.
* Adjust warning message regarding context type change
* Add "Formatter" suffix to classes
* Fix CLI specs
* Replace Sidekiq::Logging with Sidekiq::Logger
* Namespace logger formatters
* Remove rails 4 appraisal