custom_log_space 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -1
- data/README.md +6 -1
- data/lib/custom_log_space/base_subscriber.rb +16 -0
- data/lib/custom_log_space/version.rb +1 -1
- data/lib/custom_log_space/view_subscriber.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86f641a93a9acedc9acd1bd245dc3647a8ff0c03cc51e86a2f460e1d2129eb69
|
4
|
+
data.tar.gz: 28f2797855109065af34d10c97fb84232d0f5d19982a33bfd8805867c7e2863e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e61a8eea062c891e6b84e1b221ade929e01e27201f65d420d2909681fb61eac3ea89292a79013da0ac569fda9619af05913459c6961b1ef8591cd0768e695f59
|
7
|
+
data.tar.gz: 343a26cfd26d3191e371b059985a1056ee0b4a84b2a279ac2c33515255e8e6ab4e1952f29bc84e90c4352fdfa1dd3dd3dbd31785a3e9972094ed87da911a7478
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
-
## [0.1.
|
3
|
+
## [0.1.1] - 2023-09-13
|
4
|
+
### Added
|
5
|
+
- Added `cleanup_old_directories` method to manage and delete old directories, ensuring only the two most recent date-directories remain.
|
4
6
|
|
7
|
+
## [0.1.0] - 2023-09-12
|
5
8
|
- Initial release
|
data/README.md
CHANGED
@@ -25,10 +25,15 @@ $ gem install custom_log_space
|
|
25
25
|
```
|
26
26
|
|
27
27
|
## Usage
|
28
|
-
Logs are saved in the `log/custom_log_space/[date]/[time]/[controller_name]/` directory. The filenames follow the pattern:
|
28
|
+
Logs are saved in the `log/custom_log_space/[date]/[time]/[controller_name]/` directory. The filenames follow the pattern: `[action_name].log`.
|
29
29
|
|
30
30
|
<img width="492" alt="スクリーンショット 2023-09-12 8 37 43" src="https://github.com/nishikawa1031/custom_log_space/assets/53680568/95cf44c8-e256-44d0-b0cb-9d6367601985">
|
31
31
|
|
32
|
+
## Ignoring Logs in Git
|
33
|
+
If needed, add `/log/custom_log_space/*` to your `.gitignore` to ensure the logs aren't committed to your repository.
|
34
|
+
```
|
35
|
+
/log/custom_log_space/*
|
36
|
+
```
|
32
37
|
|
33
38
|
## Supported environments
|
34
39
|
- Rails 7
|
@@ -3,6 +3,7 @@
|
|
3
3
|
module CustomLogSpace
|
4
4
|
# CustomLogSpace::Subscriber is a class for handling custom logging in Rails applications.
|
5
5
|
# It provides methods for processing different types of log events and organizing log messages.
|
6
|
+
# https://github.com/rails/rails/blob/7-0-stable/activesupport/lib/active_support/log_subscriber.rb
|
6
7
|
class BaseSubscriber < ActiveSupport::LogSubscriber
|
7
8
|
def start_processing(event)
|
8
9
|
setup_thread_variables(event.payload)
|
@@ -49,6 +50,21 @@ module CustomLogSpace
|
|
49
50
|
|
50
51
|
FileUtils.mkdir_p(controller_log_directory) unless Dir.exist?(controller_log_directory)
|
51
52
|
write_to_custom_log(message)
|
53
|
+
cleanup_old_directories
|
54
|
+
end
|
55
|
+
|
56
|
+
def cleanup_old_directories
|
57
|
+
base_directory = File.join(Rails.root, "log", "custom_log_space")
|
58
|
+
all_directories = Dir.entries(base_directory).select do |entry|
|
59
|
+
File.directory?(File.join(base_directory, entry)) && entry !~ /^\./
|
60
|
+
end.sort
|
61
|
+
|
62
|
+
# If there are more than 2 date-directories, remove the oldest one
|
63
|
+
while all_directories.size > 2
|
64
|
+
directory_to_remove = all_directories.shift
|
65
|
+
path_to_remove = File.join(base_directory, directory_to_remove)
|
66
|
+
FileUtils.rm_rf(path_to_remove)
|
67
|
+
end
|
52
68
|
end
|
53
69
|
|
54
70
|
def custom_log_directory
|
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
# ViewSubscriber logs view rendering events for CustomLogSpace.
|
4
4
|
# It tracks events like template rendering, partial rendering, and collection rendering.
|
5
|
+
# https://github.com/rails/rails/blob/7-0-stable/actionview/lib/action_view/log_subscriber.rb
|
5
6
|
class ViewSubscriber < CustomLogSpace::BaseSubscriber
|
6
7
|
def render_template(event)
|
7
8
|
identifier = event.payload[:identifier]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: custom_log_space
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nishikawa1031
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-09-
|
11
|
+
date: 2023-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|