summaryrefslogtreecommitdiff
path: root/jni/ruby/sample/logger
diff options
context:
space:
mode:
authorJari Vetoniemi <jari.vetoniemi@indooratlas.com>2020-03-16 18:49:26 +0900
committerJari Vetoniemi <jari.vetoniemi@indooratlas.com>2020-03-30 00:39:06 +0900
commitfcbf63e62c627deae76c1b8cb8c0876c536ed811 (patch)
tree64cb17de3f41a2b6fef2368028fbd00349946994 /jni/ruby/sample/logger
Fresh start
Diffstat (limited to 'jni/ruby/sample/logger')
-rw-r--r--jni/ruby/sample/logger/app.rb46
-rw-r--r--jni/ruby/sample/logger/log.rb27
-rw-r--r--jni/ruby/sample/logger/shifting.rb26
3 files changed, 99 insertions, 0 deletions
diff --git a/jni/ruby/sample/logger/app.rb b/jni/ruby/sample/logger/app.rb
new file mode 100644
index 0000000..97b62bc
--- /dev/null
+++ b/jni/ruby/sample/logger/app.rb
@@ -0,0 +1,46 @@
+#!/usr/bin/env ruby
+
+require 'logger'
+
+class MyApp < Logger::Application
+ def initialize(a, b, c)
+ super('MyApp')
+
+ # Set logDevice here.
+ logfile = 'app.log'
+ self.log = logfile
+ self.level = INFO
+
+ # Initialize your application...
+ @a = a
+ @b = b
+ @c = c
+ end
+
+ def run
+ @log.info { 'Started.' }
+
+ @log.info { "This block isn't evaled because 'debug' is not severe here." }
+ @log.debug { "Result = " << foo(0) }
+ @log.info { "So nothing is dumped." }
+
+ @log.info { "This block is evaled because 'info' is enough severe here." }
+ @log.info { "Result = " << foo(0) }
+ @log.info { "Above causes exception, so not reached here." }
+
+ @log.info { 'Finished.' }
+ end
+
+private
+
+ def foo(var)
+ 1 / var
+ end
+end
+
+status = MyApp.new(1, 2, 3).start
+
+if status != 0
+ puts 'Some error(s) occurred.'
+ puts 'See "app.log".'
+end
diff --git a/jni/ruby/sample/logger/log.rb b/jni/ruby/sample/logger/log.rb
new file mode 100644
index 0000000..aab80e4
--- /dev/null
+++ b/jni/ruby/sample/logger/log.rb
@@ -0,0 +1,27 @@
+#!/usr/bin/env ruby
+
+require 'logger'
+
+log = Logger.new(STDERR)
+
+def do_log(log)
+ log.debug('do_log1') { "debug" }
+ log.info('do_log2') { "info" }
+ log.warn('do_log3') { "warn" }
+ log.error('do_log4') { "error" }
+ log.fatal('do_log6') { "fatal" }
+ log.unknown('do_log7') { "unknown" }
+end
+
+log.level = Logger::DEBUG # Default.
+do_log(log)
+
+puts "Set severity threshold 'WARN'."
+
+log.level = Logger::WARN
+do_log(log)
+
+puts "Change datetime format. Thanks to Daniel Berger."
+
+log.datetime_format = "%d-%b-%Y@%H:%M:%S"
+do_log(log)
diff --git a/jni/ruby/sample/logger/shifting.rb b/jni/ruby/sample/logger/shifting.rb
new file mode 100644
index 0000000..bd8852a
--- /dev/null
+++ b/jni/ruby/sample/logger/shifting.rb
@@ -0,0 +1,26 @@
+#!/usr/bin/env ruby
+
+require 'logger'
+
+logfile = 'shifting.log'
+# Max 3 age ... logShifting.log, logShifting.log.0, and logShifting.log.1
+shift_age = 3
+# Shift log file about for each 1024 bytes.
+shift_size = 1024
+
+log = Logger.new(logfile, shift_age, shift_size)
+
+def do_log(log)
+ log.debug('do_log1') { 'd' * rand(100) }
+ log.info('do_log2') { 'i' * rand(100) }
+ log.warn('do_log3') { 'w' * rand(100) }
+ log.error('do_log4') { 'e' * rand(100) }
+ log.fatal('do_log5') { 'f' * rand(100) }
+ log.unknown('do_log6') { 'u' * rand(100) }
+end
+
+(1..10).each do
+ do_log(log)
+end
+
+puts 'See shifting.log and shifting.log.[01].'