Module: Onlylogs
- Defined in:
- lib/onlylogs.rb,
lib/onlylogs/engine.rb,
lib/onlylogs/logger.rb,
lib/onlylogs/version.rb,
lib/onlylogs/formatter.rb,
app/models/onlylogs/file.rb,
app/models/onlylogs/grep.rb,
lib/onlylogs/http_logger.rb,
lib/onlylogs/configuration.rb,
lib/onlylogs/socket_logger.rb,
app/models/onlylogs/batch_sender.rb,
app/jobs/onlylogs/application_job.rb,
app/channels/onlylogs/logs_channel.rb,
app/models/onlylogs/file_path_parser.rb,
app/models/onlylogs/secure_file_path.rb,
app/models/onlylogs/ansi_color_parser.rb,
app/helpers/onlylogs/application_helper.rb,
app/controllers/onlylogs/logs_controller.rb,
app/channels/onlylogs/application_cable/channel.rb,
app/controllers/onlylogs/application_controller.rb
Overview
Defined Under Namespace
Modules: ApplicationCable, ApplicationHelper
Classes: AnsiColorParser, ApplicationController, ApplicationJob, BatchSender, Configuration, Engine, Error, File, FilePathParser, Formatter, Grep, HttpLogger, Logger, LogsChannel, LogsController, SecureFilePath, SocketLogger
Constant Summary
collapse
- VERSION =
"0.4.5"
Class Method Summary
collapse
Class Method Details
.available_log_files ⇒ Object
Returns all existing files on disk that match the configured allowed_files patterns. Supports direct file paths and glob patterns (e.g., *.log, */.log). Returns Pathname objects so callers can access both the basename and the absolute path.
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/onlylogs/configuration.rb', line 92
def self.available_log_files
patterns = Array(configuration.log_file_patterns)
paths = patterns.flat_map do |pattern|
allowed_file_patterns_for(pattern).flat_map do |expanded_pattern|
if glob_pattern?(expanded_pattern)
Dir.glob(expanded_pattern, ::File::FNM_DOTMATCH | ::File::FNM_PATHNAME).select { |p| ::File.file?(p) }
else
::File.file?(expanded_pattern) ? [expanded_pattern] : []
end
end
end
paths.uniq.sort.map { |p| Pathname.new(p) }
end
|
128
129
130
|
# File 'lib/onlylogs/configuration.rb', line 128
def self.basic_auth_configured?
basic_auth_user.present? && basic_auth_password.present?
end
|
.basic_auth_password ⇒ Object
116
117
118
|
# File 'lib/onlylogs/configuration.rb', line 116
def self.basic_auth_password
configuration.basic_auth_password
end
|
.basic_auth_user ⇒ Object
112
113
114
|
# File 'lib/onlylogs/configuration.rb', line 112
def self.basic_auth_user
configuration.basic_auth_user
end
|
.configuration ⇒ Object
71
72
73
|
# File 'lib/onlylogs/configuration.rb', line 71
def self.configuration
@configuration ||= Configuration.new
end
|
75
76
77
|
# File 'lib/onlylogs/configuration.rb', line 75
def self.configure
yield configuration
end
|
.default_log_file_path ⇒ Object
108
109
110
|
# File 'lib/onlylogs/configuration.rb', line 108
def self.default_log_file_path
configuration.default_log_file_path
end
|
.disable_basic_authentication? ⇒ Boolean
124
125
126
|
# File 'lib/onlylogs/configuration.rb', line 124
def self.disable_basic_authentication?
configuration.disable_basic_authentication
end
|
.editor ⇒ Object
136
137
138
|
# File 'lib/onlylogs/configuration.rb', line 136
def self.editor
configuration.editor || configuration.default_editor
end
|
.editor=(editor_symbol) ⇒ Object
.file_path_permitted?(file_path) ⇒ Boolean
79
80
81
82
83
84
85
86
87
|
# File 'lib/onlylogs/configuration.rb', line 79
def self.file_path_permitted?(file_path)
path = ::File.expand_path(file_path.to_s)
configuration.log_file_patterns.any? do |pattern|
allowed_file_patterns_for(pattern).any? do |pat|
::File.fnmatch?(pat, path, ::File::FNM_PATHNAME | ::File::FNM_DOTMATCH)
end
end
end
|
.max_line_matches ⇒ Object
146
147
148
|
# File 'lib/onlylogs/configuration.rb', line 146
def self.max_line_matches
configuration.max_line_matches
end
|
.parent_controller ⇒ Object
120
121
122
|
# File 'lib/onlylogs/configuration.rb', line 120
def self.parent_controller
configuration.parent_controller
end
|
.ripgrep_enabled? ⇒ Boolean
132
133
134
|
# File 'lib/onlylogs/configuration.rb', line 132
def self.ripgrep_enabled?
configuration.ripgrep_enabled
end
|