Commit graph

86 commits

Author SHA1 Message Date
Mike Perham
194520f80e [ruby/logger] Add Logger#with_level{...} for block-scoped log level.
(https://github.com/ruby/logger/pull/85)

* Update lib/logger/severity.rb

7aabb0b4aa
2023-02-10 01:08:49 +00:00
Jesse Chavez
99d02caed3 [ruby/logger] Fix log rotation inter-process lock failed.
Issue only occurs in JRuby 9.3.0.0 and Windows and the full
console output is:

log rotation inter-process lock failed. D:\log.txt -> D:\log.txt.0: The process cannot access the file because it is being used by another process.
log writing failed. closed stream
log writing failed. closed stream
...

19fc734638
2022-01-27 12:33:06 +09:00
Hiroshi SHIBATA
e442ec4ea0
[ruby/logger] Removed loading old helper file and load Logger class by itself
5ee0fd6e51
2021-12-18 08:38:58 +09:00
Baron Bloomer
4375546810
[ruby/logger] Test cases
40adb645e2
2021-12-18 08:38:58 +09:00
Hiroshi SHIBATA
8f6b42e0cb
[ruby/logger] Ignored loading CoreAssertions in test runner
2fd5401ad6
2021-09-15 08:49:24 +09:00
Jeremy Evans
6f14a30022 [ruby/logger] Consider cygwin a Windows platform
This should fix Ruby Bug 12468.

49de53d1fc
2020-12-04 20:16:00 +09:00
Lourens Naudé
ae93ebae67 [ruby/logger] Let Logger#reopen not raise on nil log devices
da7bf844e5
2020-06-11 13:54:04 +09:00
Lourens Naudé
f3e12caa08 [ruby/logger] Let File::NULL ("/dev/null", "NUL" etc.) be considered a nil log device
b42a1b99aa
2020-06-11 13:53:50 +09:00
Nobuyoshi Nakada
e68999c82c
Fixed misspellings
Fixed misspellings reported at [Bug #16437], for default gems.
2019-12-20 12:19:45 +09:00
Nobuyoshi Nakada
9421c78041
[ruby/logger] Fixed leaked tempfile
fb3eff153f
2019-12-17 14:01:40 +09:00
Hiroshi SHIBATA
2a2a707829
Followed up 38722fa179 2019-12-10 21:21:19 +09:00
Jeremy Evans
0b10d46a57 [ruby/logger] Enable more timezone tests on OpenBSD
bcd7e227e8
2019-12-10 21:01:11 +09:00
Jeremy Evans
38722fa179 [ruby/logger] Raise ArgumentError for invalid shift_age
Consider 'now' and 'everytime' as valid values for the previous
behavior of rotating everytime.

Fixes Ruby Bug 15977

f92979a376
2019-12-10 20:59:02 +09:00
George Claghorn
eb18cb3e47 [ruby/logger] Honor Logger#level overrides
7365c995bf
2019-12-10 20:58:25 +09:00
Hiroshi SHIBATA
1943279426
Added workaround for CoreAssertions used by ruby/logger. 2019-12-09 19:17:32 +09:00
Hiroshi SHIBATA
4b36832ba6
Merge the upstream changes for test-unit on ruby/logger.
This commits are based with:
    f067f7d1aa
    86058f420d
    02db6e8ed8
2019-12-09 19:17:32 +09:00
Jeremy Evans
146677a1e7 Fix keyword argument warnings in the tests from Class#new
This were previously hidden because calls from C were not warned.
2019-09-06 19:41:23 -07:00
Hiroshi SHIBATA
1b59ed9b49
Move helper file of logger to under the test/logger. 2019-07-15 14:43:08 +09:00
Rafael Mendonça França
58065b8701
[ruby/logger] Add option to set the binary mode of the log device
Without binmode strings with incompatible encoding can't be written in
the file. This is very common in applications that log user provided
parameters.

We need to allow changing the binnary mode because right now it is impossible to use
the built-in log rotation feature when you provide a File object to the
LogDevice, and if you provide a filename you can't have binmode.

9114b3ac7e
2019-07-15 14:43:08 +09:00
Jeremy Evans
f4064a0a0c
[ruby/logger] Set filename when initializing logger with a File object
This should allow reopen to work.  Requested in ruby issue #14595.

bd367aff12
2019-07-15 14:43:08 +09:00
sonots
136196785b
[ruby/logger] Fix to use logger and test-unit in this repo with
`ruby test/logger/test_xxx.rb`

d3c2402340
2019-07-15 14:43:07 +09:00
Samuel Williams
47500f2055
[ruby/logger] Add support for changing severity using bang methods.
ae4c6dfcbb
2019-07-15 14:43:07 +09:00
Yusuke Endoh
649753b7f5 Fix timezone issue for logger period's tests
This is a retry of 181b966e75.
"Revert "Add a missing tests for Logger::Period module"" is also
reverted.
2019-07-02 15:50:12 +01:00
Koichi Sasada
f1043090a2 Revert "Add a missing tests for Logger::Period module"
This reverts commit 181b966e75.
2019-07-02 23:38:25 +09:00
Anton Davydov
181b966e75 Add a missing tests for Logger::Period module
Closes: https://github.com/ruby/ruby/pull/2266
2019-07-02 14:56:58 +01:00
k0kubun
f5fc032eee Remove unused variables
This fixes following warning:

```
test/logger/test_logger.rb:329: warning: assigned but unused variable - read_read
```

[Fix GH-1840]

From: yuuji.yaginuma <yuuji.yaginuma@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-17 06:41:35 +00:00
usa
58b3f36546 revert r60999
* test/logger/test_logdevice.rb: revert r60999 because it was caused by not
  committed changes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-04 00:23:31 +00:00
usa
eff0a1cce8 give a change to determine to rotate the log or not
* test/logger/test_logdevice.rb (test_shifting_{age,period_suffix}): give a
  chance to determine to rotate the log or not.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60998 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-03 15:49:05 +00:00
nobu
30d23ec903 multiple arguments to write
Make write methods of IO-like objects accept multiple arguments,
as well as IO#write.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-10-23 14:05:07 +00:00
sonots
93fe0ff2f1 logger.rb: Fix handling progname
Because progname was memoized with ||= a logger call that involved
outputting false would be nil. Example code:

  logger = Logger.new(STDOUT)
  logger.info(false)  # => nil

Perform an explicit nil check instead of ||= so that false will be output.

patched by Gavin Miller <gavingmiller@gmail.com> [Fix GH-1667]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-07-20 16:47:26 +00:00
nobu
f6e77b9d35 logger.rb: fix next rotate time
* lib/logger.rb (Logger::LogDevice#initialize): calculate next
  rotate time based on the mtime of the last existing file.
  [ruby-dev:49881] [Bug #12948]

Author: Tsukasa Oishi <tsukasa.oishi@gmail.com>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-16 06:59:42 +00:00
nobu
2b80941e95 test/logger/test_logdevice.rb: heredoc styles
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-16 06:59:41 +00:00
nobu
a2f3069988 test_logger.rb: suppress a warning
* test/logger/test_logger.rb (test_datetime_format): suppress
  warning when strftime called with empty format string.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-11-05 02:39:09 +00:00
nobu
8fc170a34e logger: fix monthly log rotate with DST
* lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log
  rotate when DST is applied during a month of 31 days.
  [Fix GH-1458]

With DST the month of october can actually last more than 31 days.
It can last 31 days plus 1 hour. So during october, `t` used to be
equal to "2016-10-31 23:00:00" instead of "2016-11-01 00:00:00".
This was then normalized to "2016-10-01 00:00:00" which lead every
single line of log during october to rotate the log file.
This fix ensure that next_rotate_time(now, 'monthly') always return
the first day of next month in every situation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56374 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-08 00:06:57 +00:00
usa
b1376614de * test/logger/test_logdevice.rb (TestLogDevice#test_shifting_period_suffix):
too many shifting.  the last shifting created logs named as `*.3`, and
  they were never unlinked.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-01 14:56:45 +00:00
nobu
b48c212ec9 use more descriptive assertions
* test/logger/test_logdevice.rb: use assert_predicate,
  assert_not_predicate, and assert_file instead of bare assert.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-19 04:14:38 +00:00
sonots
dd4f590196 * test/logger/test_logdevice.rb: fix tests to pass on windows
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-18 15:54:45 +00:00
sonots
2c6f15b1ad * lib/logger.rb: Add shift_period_suffix option [Fix GH-10772]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-18 15:07:31 +00:00
sonots
a040953386 Allow specifying logger parameters in constructor
* lib/logger.rb: Allow specifying logger prameters such as level,
  progname, datetime_format, formatter in constructor [Bug #12224]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-18 10:45:40 +00:00
naruse
3e92b635fb Add frozen_string_literal: false for all files
When you change this to true, you may need to add more tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-16 05:07:31 +00:00
sonots
9876377040 * test/logger/test_logdevice.rb: Fix tests of logger to make it work on
windows (windows can not remove opened file) [Bug #11702]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-18 00:53:14 +00:00
sonots
398abe4c51 * lib/logger.rb: support symbol and string log level setting
[fix GH-1101]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 14:15:25 +00:00
sonots
f952570bdd lib/logger.rb: Add Logger#reopen
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-17 13:58:57 +00:00
nobu
6df21cb469 logger.rb: end of week should be Saturday
* lib/logger.rb (Logger::Period#previous_period_end): as weekly
  rotation shifts the log file on Sundays, the end date of the
  previous period should be Saturdays.  fix r45072.
  [ruby-dev:49314] [Bug #11622]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-27 07:18:14 +00:00
nobu
e8c00b7027 logger.rb: fix weekly rotation
* lib/logger.rb (Logger::Period#next_rotate_time): get rid of
  adding to mday not to exceed the days of the month.
  [ruby-core:71185] [Bug #11620]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-27 03:00:38 +00:00
nobu
ae042f21fb use assert_raise
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-02 02:18:44 +00:00
akr
fb2008a73a * test/lib/envutil.rb: Moved from test/ruby/.
* test/lib/find_executable.rb: Ditto.

* test/lib/memory_status.rb: Ditto.

* test/lib/test/unit.rb: require envutil.

* test/: Don't require envutil in test files.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-11-13 16:05:37 +00:00
hsbt
931d2fd5d8 * logger.rb: removed unmaintain code.
[Feature #9860][ruby-core:62724]
* test/logger/test_application.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-07-02 01:41:02 +00:00
akr
2edc9ea5f8 test/logger/test_logdevice.rb: Close fds.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-05-29 13:12:38 +00:00
nobu
cd4b0c10ef test_logdevice.rb: no utime
* test/logger/test_logdevice.rb (test_shifting_midnight): do not
  set mtime to get rid of an error on Windows.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-22 03:18:36 +00:00