k_log 0.0.17 → 0.0.27
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/.rubocop.yml +15 -0
- data/Gemfile +3 -8
- data/k_log.gemspec +1 -0
- data/lib/k_log/examples.rb +9 -0
- data/lib/k_log/log_helper.rb +63 -2
- data/lib/k_log/log_structure.rb +399 -0
- data/lib/k_log/log_util.rb +408 -381
- data/lib/k_log/tools/build_formatter_configuration_for_log_structure.rb +51 -0
- data/lib/k_log/version.rb +5 -5
- data/lib/k_log.rb +40 -39
- metadata +18 -2
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'k_util'
|
4
|
+
|
5
|
+
module KLog
|
6
|
+
module Tools
|
7
|
+
# This tool will build a Log Structure Formatter configuration by working
|
8
|
+
# through the object graph you would like to use with Log Structure
|
9
|
+
class BuildFormatterConfigurationForLogStructure
|
10
|
+
# Build a sample configuration based on the structure
|
11
|
+
def build_sample_config(data)
|
12
|
+
open_struct_data = KUtil.data.to_open_struct(data)
|
13
|
+
|
14
|
+
lines = [
|
15
|
+
'# Usage:',
|
16
|
+
'',
|
17
|
+
"formatter = #{infer_config(open_struct_data)}",
|
18
|
+
'',
|
19
|
+
"log.structure(data, heading: 'Insert Heading', line_width: 150, formatter: formatter)"
|
20
|
+
]
|
21
|
+
KLog.logger.line
|
22
|
+
puts lines
|
23
|
+
KLog.logger.line
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def infer_config(data)
|
29
|
+
result = {}
|
30
|
+
|
31
|
+
data.each_pair do |key, value|
|
32
|
+
next unless value.is_a?(Array)
|
33
|
+
next if KUtil.data.basic_type?(value.first)
|
34
|
+
|
35
|
+
result[key] = {
|
36
|
+
heading: key.to_s,
|
37
|
+
take: :all,
|
38
|
+
array_columns: value.first.to_h.keys
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
# This is essentially a pretty hash
|
43
|
+
JSON.pretty_generate(result)
|
44
|
+
.gsub(/(?:"|')(?<key>[^"]*)(?:"|')(?=:)(?::)/) do |_|
|
45
|
+
"#{Regexp.last_match(:key)}:"
|
46
|
+
end
|
47
|
+
.gsub('take: "all"', 'take: :all')
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/k_log/version.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module KLog
|
4
|
-
VERSION = '0.0.
|
5
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module KLog
|
4
|
+
VERSION = '0.0.27'
|
5
|
+
end
|
data/lib/k_log.rb
CHANGED
@@ -1,39 +1,40 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'logger'
|
4
|
-
require 'table_print'
|
5
|
-
require 'k_log/version'
|
6
|
-
require 'k_log/log_formatter'
|
7
|
-
require 'k_log/log_helper'
|
8
|
-
require 'k_log/
|
9
|
-
require 'k_log/
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
logger
|
25
|
-
logger.
|
26
|
-
KLog::
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'logger'
|
4
|
+
require 'table_print'
|
5
|
+
require 'k_log/version'
|
6
|
+
require 'k_log/log_formatter'
|
7
|
+
require 'k_log/log_helper'
|
8
|
+
require 'k_log/log_structure'
|
9
|
+
require 'k_log/log_util'
|
10
|
+
require 'k_log/logging'
|
11
|
+
|
12
|
+
# Simple console log helpers
|
13
|
+
module KLog
|
14
|
+
# raise KLog::Error, 'Sample message'
|
15
|
+
class Error < StandardError; end
|
16
|
+
|
17
|
+
class << self
|
18
|
+
attr_accessor :logger
|
19
|
+
|
20
|
+
def default_logger
|
21
|
+
return @default_logger if defined? @default_logger
|
22
|
+
|
23
|
+
@default_logger = begin
|
24
|
+
logger = Logger.new($stdout)
|
25
|
+
logger.level = Logger::DEBUG
|
26
|
+
logger.formatter = KLog::LogFormatter.new
|
27
|
+
KLog::LogUtil.new(logger)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
KLog.logger = KLog.default_logger
|
34
|
+
|
35
|
+
if ENV['KLUE_DEBUG']&.to_s&.downcase == 'true'
|
36
|
+
namespace = 'KLog::Version'
|
37
|
+
file_path = $LOADED_FEATURES.find { |f| f.include?('k_log/version') }
|
38
|
+
version = KLog::VERSION.ljust(9)
|
39
|
+
puts "#{namespace.ljust(35)} : #{version.ljust(9)} : #{file_path}"
|
40
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: k_log
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.27
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: k_util
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: table_print
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -55,8 +69,10 @@ files:
|
|
55
69
|
- lib/k_log/examples.rb
|
56
70
|
- lib/k_log/log_formatter.rb
|
57
71
|
- lib/k_log/log_helper.rb
|
72
|
+
- lib/k_log/log_structure.rb
|
58
73
|
- lib/k_log/log_util.rb
|
59
74
|
- lib/k_log/logging.rb
|
75
|
+
- lib/k_log/tools/build_formatter_configuration_for_log_structure.rb
|
60
76
|
- lib/k_log/version.rb
|
61
77
|
- usage.png
|
62
78
|
homepage: http://appydave.com/gems/k-log
|