Module: Backup::Logger
- Defined in:
- lib/backup/logger.rb
Class Attribute Summary collapse
-
.quiet ⇒ Object
Returns the value of attribute quiet.
Class Method Summary collapse
- .clear! ⇒ Object
-
.error(string) ⇒ Object
Outputs an error to the console and writes it to the backup.log Called when an Exception has caused the backup process to abort.
-
.has_warnings? ⇒ Boolean
Returns true if any warnings have been issued.
-
.message(string) ⇒ Object
Outputs a messages to the console and writes it to the backup.log.
-
.messages ⇒ Object
Returns an Array of all messages written to the log file for this session.
-
.normal(string) ⇒ Object
Outputs the data as if it were a regular ‘puts’ command, but also logs it to the backup.log.
-
.silent(string) ⇒ Object
Silently logs data to the log file.
- .truncate!(max_bytes = 500_000) ⇒ Object
-
.warn(string) ⇒ Object
Outputs a notice to the console and writes it to the backup.log Sets #has_warnings? true so :on_warning notifications will be sent.
Class Attribute Details
.quiet ⇒ Object
Returns the value of attribute quiet.
7 8 9 |
# File 'lib/backup/logger.rb', line 7 def quiet @quiet end |
Class Method Details
.clear! ⇒ Object
58 59 60 61 |
# File 'lib/backup/logger.rb', line 58 def clear! .clear @has_warnings = false end |
.error(string) ⇒ Object
Outputs an error to the console and writes it to the backup.log Called when an Exception has caused the backup process to abort.
19 20 21 22 |
# File 'lib/backup/logger.rb', line 19 def error(string) to_console loggify(string, :error, :red), true to_file loggify(string, :error) end |
.has_warnings? ⇒ Boolean
Returns true if any warnings have been issued
54 55 56 |
# File 'lib/backup/logger.rb', line 54 def has_warnings? @has_warnings ||= false end |
.message(string) ⇒ Object
Outputs a messages to the console and writes it to the backup.log
11 12 13 14 |
# File 'lib/backup/logger.rb', line 11 def (string) to_console loggify(string, :message, :green) to_file loggify(string, :message) end |
.messages ⇒ Object
Returns an Array of all messages written to the log file for this session
48 49 50 |
# File 'lib/backup/logger.rb', line 48 def @messages ||= [] end |
.normal(string) ⇒ Object
Outputs the data as if it were a regular ‘puts’ command, but also logs it to the backup.log
35 36 37 38 |
# File 'lib/backup/logger.rb', line 35 def normal(string) to_console loggify(string) to_file loggify(string) end |
.silent(string) ⇒ Object
Silently logs data to the log file
42 43 44 |
# File 'lib/backup/logger.rb', line 42 def silent(string) to_file loggify(string, :silent) end |
.truncate!(max_bytes = 500_000) ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/backup/logger.rb', line 63 def truncate!(max_bytes = 500_000) log_file = File.join(Config.log_path, 'backup.log') return unless File.exist?(log_file) if File.stat(log_file).size > max_bytes FileUtils.mv(log_file, log_file + '~') File.open(log_file + '~', 'r') do |io_in| File.open(log_file, 'w') do |io_out| io_in.seek(-max_bytes, IO::SEEK_END) && io_in.gets while line = io_in.gets io_out.puts line end end end FileUtils.rm_f(log_file + '~') end end |
.warn(string) ⇒ Object
Outputs a notice to the console and writes it to the backup.log Sets #has_warnings? true so :on_warning notifications will be sent
27 28 29 30 31 |
# File 'lib/backup/logger.rb', line 27 def warn(string) @has_warnings = true to_console loggify(string, :warning, :yellow), true to_file loggify(string, :warning) end |