pointlog 1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 765ae82f25d957a26090be5e0fb3484175ebd73b
4
+ data.tar.gz: 3d70d7d74c4596f64b36df76d16f50e641b21e4d
5
+ SHA512:
6
+ metadata.gz: d9560b9bccc1ae811fa52968b14117df8df99d99eb46da22289b25d6be89974a1d30f6d06bfc609473121143d53013609bb49091f80da2d3c04eb0c7e8ae4286
7
+ data.tar.gz: d14e03fa5d56d06e388362aecdf03bb0dc1f52b2dd8e3c4a7c6620e582e94c9f431844c226b9982b082186c08f0209c5545195e49530137de429ae7cff8185eb
@@ -0,0 +1,28 @@
1
+ class LogFormatter
2
+
3
+ attr_accessor :format
4
+
5
+ def initialize format
6
+ @format = format
7
+ end
8
+
9
+ def interpret(logger, level, message)
10
+ time = Time.new
11
+
12
+ values = ["${TIME}", "${NAME}", "${LEVEL}", "${MESSAGE}"]
13
+ values.each do |value|
14
+ if !@format.include? value
15
+ puts "Error: You forget a parameter in the log formatter."
16
+ exit
17
+ end
18
+ end
19
+
20
+ @format[values[0]] = time.hour.inspect + ":" + time.min.inspect + ":" + time.sec.inspect
21
+ @format[values[1]] = logger.name
22
+ @format[values[2]] = level.name
23
+ @format[values[3]] = message
24
+
25
+ return @format
26
+ end
27
+
28
+ end
data/lib/log_level.rb ADDED
@@ -0,0 +1,15 @@
1
+ module LogLevel
2
+
3
+ class Level
4
+ attr_accessor :name
5
+
6
+ def initialize name
7
+ @name = name
8
+ end
9
+ end
10
+
11
+ SEVERE = Level.new "Severe"
12
+ WARNING = Level.new "Warning/Be careful"
13
+ INFO = Level.new "Information"
14
+
15
+ end
data/lib/logger.rb ADDED
@@ -0,0 +1,31 @@
1
+ require_relative "log_level"
2
+ require_relative "log_formatter"
3
+
4
+ class Logger
5
+
6
+ attr_accessor :name, :log_formatter
7
+
8
+ def initialize (name, log_formatter)
9
+ @name = name
10
+ @log_formatter = log_formatter
11
+ end
12
+
13
+ #Log a message into the console
14
+ def log(level, message)
15
+ puts log_formatter.interpret(self, level, message)
16
+ end
17
+
18
+ #Basic log levels methods
19
+ def info message
20
+ log(LogLevel::INFO, message)
21
+ end
22
+
23
+ def warning message
24
+ log(LogLevel::WARNING, message)
25
+ end
26
+
27
+ def severe message
28
+ log(LogLevel::SEVERE, message)
29
+ end
30
+
31
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pointlog
3
+ version: !ruby/object:Gem::Version
4
+ version: '1.0'
5
+ platform: ruby
6
+ authors:
7
+ - AnanaGame
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-06-05 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: "\U0001F4E0 pointlog is a little logger system in Ruby."
14
+ email: contact@anana.xyz
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/log_formatter.rb
20
+ - lib/log_level.rb
21
+ - lib/logger.rb
22
+ homepage: http://rubygems.org/gems/pointlog
23
+ licenses:
24
+ - GPL-3.0
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.6.11
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: pointlog
46
+ test_files: []