k_log 0.0.10 → 0.0.15

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 434dc148e16a0ee8d9760e0d7e9b23777da00fbbc653bb48f79c795b265f91cc
4
- data.tar.gz: 7f756677bcb989f589d9b9bb0ce3526e7f3b8d6e05c13dab9f936a89888954e6
3
+ metadata.gz: f2ccb53751a29b845bfd6390858eb240022f36a7a6fccf4ecd7ee1ce9bff6e3c
4
+ data.tar.gz: 4674f6da5073ae74d02e757a2e262cb0f0565937c823b1b8a7e5542b97293a08
5
5
  SHA512:
6
- metadata.gz: 6ae7c995344694b8a22424ec4fc974c7b23e4014b039632c3d184b77cad6ad20dc577ee5db5d0d881177013ad5e617e7347fd284b855a41347e0eb3073876b56
7
- data.tar.gz: 597070e56e27c4d86d426f81e13a13ed1d8db000b44ebcdfe7ce9f1a75f24dc0b0162289ff5bb9ee343c0f23e8a471cbe6956f972cd882539a7a163a77260d4f
6
+ metadata.gz: 925822534585b98027b1f101f6897cb6404bff3f5e51d2bf67acc25a7a6f0ea88534dba1d4245a51a491054d236b226895f2891b453d0f780b7f16937d8a9559
7
+ data.tar.gz: 69c222e2bf0d58c487bc639780befdad04d30779c5d60e66f43970a89a4441103e66d0eae2b66c42118f05d8e415624bbcb839d17ad4af6816eeb9eada4a8239
data/k_log.gemspec CHANGED
@@ -38,6 +38,6 @@ Gem::Specification.new do |spec|
38
38
  spec.require_paths = ['lib']
39
39
  # spec.extensions = ['ext/k_log/extconf.rb']
40
40
 
41
- spec.add_dependency 'table_print', '~> 1.5.7'
41
+ spec.add_dependency 'table_print', '~> 1.5.7'
42
42
  # spec.add_dependency 'tty-box', '~> 0.5.0'
43
43
  end
data/lib/k_log.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'logger'
4
+ require 'table_print'
4
5
  require 'k_log/version'
5
6
  require 'k_log/log_formatter'
6
7
  require 'k_log/log_helper'
@@ -13,11 +14,25 @@ module KLog
13
14
 
14
15
  class << self
15
16
  attr_accessor :logger
17
+
18
+ def default_logger
19
+ return @default_logger if defined? @default_logger
20
+
21
+ @default_logger = begin
22
+ logger = Logger.new($stdout)
23
+ logger.level = Logger::DEBUG
24
+ logger.formatter = KLog::LogFormatter.new
25
+ KLog::LogUtil.new(logger)
26
+ end
27
+ end
16
28
  end
17
29
  end
18
30
 
19
- # KLog.logger = Logger.new($stdout)
20
- # KLog.logger.level = Logger::DEBUG
21
- # KLog.logger.formatter = KLog::LogFormatter.new
31
+ KLog.logger = KLog.default_logger
22
32
 
23
- # L = KLog::LogUtil.new(KLog.logger)
33
+ if ENV['KLUE_DEBUG']&.to_s&.downcase == 'true'
34
+ namespace = 'KLog::Version'
35
+ file_path = $LOADED_FEATURES.find { |f| f.include?('k_log/version') }
36
+ version = KLog::VERSION.ljust(9)
37
+ puts "#{namespace.ljust(40)} : #{version.ljust(9)} : #{file_path}"
38
+ end
@@ -100,8 +100,8 @@ module KLog
100
100
 
101
101
  # # :sql_array should be an array with SQL and values or with SQL and Hash
102
102
  # # example:
103
- # # L.sql(["name = :name and group_id = :value OR parent_id = :value", name: "foo'bar", value: 4])
104
- # # L.sql([sql_exact_match_skills_in_use, {names: self.segments_container.segment_values}])
103
+ # # KLog.logger.sql(["name = :name and group_id = :value OR parent_id = :value", name: "foo'bar", value: 4])
104
+ # # KLog.logger.sql([sql_exact_match_skills_in_use, {names: self.segments_container.segment_values}])
105
105
  # def sql(sql_array)
106
106
  # value = ActiveRecord::Base.send(:sanitize_sql_array, sql_array)
107
107
 
@@ -136,12 +136,12 @@ module KLog
136
136
  case value
137
137
  when OpenStruct
138
138
  if value['rows'].is_a?(Array)
139
- # L.subheading(key)
139
+ # KLog.logger.subheading(key)
140
140
  opts[:subheading] = key
141
141
  open_struct(value, indent, **opts)
142
142
  opts.delete(:subheading)
143
143
  else
144
- L.kv "#{indent}#{key}", ''
144
+ KLog.logger.kv "#{indent}#{key}", ''
145
145
  indent = "#{indent} "
146
146
  open_struct(value, indent, **opts)
147
147
  indent = indent.chomp(' ')
@@ -149,18 +149,17 @@ module KLog
149
149
  when Array
150
150
  next unless opts[:skip_array].nil?
151
151
 
152
- # puts LogHelper.subheading(key, 88)# unless opts[:subheading].nil?
153
- puts LogHelper.subheading(opts[:subheading], 88) unless opts[:subheading].nil?
152
+ puts LogHelper.section_heading(opts[:subheading], 88) unless opts[:subheading].nil?
154
153
 
155
154
  if value.length.positive?
156
155
  if value.first.is_a?(String)
157
- L.kv "#{indent}#{key}", value.join(', ')
156
+ KLog.logger.kv "#{indent}#{key}", value.join(', ')
158
157
  else
159
158
  tp value, value.first.to_h.keys
160
159
  end
161
160
  end
162
161
  else
163
- L.kv "#{indent}#{key}", value
162
+ KLog.logger.kv "#{indent}#{key}", value
164
163
  end
165
164
  end
166
165
  nil
@@ -234,6 +233,27 @@ module KLog
234
233
  end
235
234
  end
236
235
 
236
+ def visual_compare_hashes(hash1, hash2)
237
+ content1 = JSON.pretty_generate(hash1)
238
+ content2 = JSON.pretty_generate(hash2)
239
+
240
+ file1 = Tempfile.new('hash1')
241
+ file1.write(content1)
242
+ file1.close
243
+
244
+ file2 = Tempfile.new('hash2')
245
+ file2.write(content2)
246
+ file2.close
247
+
248
+ system "code --diff #{file1.path} #{file2.path}"
249
+
250
+ # Provide enough time for vscode to open and display the files before deleting them
251
+ sleep 1
252
+
253
+ file1.unlink
254
+ file2.unlink
255
+ end
256
+
237
257
  #----------------------------------------------------------------------------------------------------
238
258
  # Internal Methods
239
259
  #----------------------------------------------------------------------------------------------------
@@ -245,43 +265,43 @@ module KLog
245
265
  end
246
266
 
247
267
  def self.examples_simple
248
- L.debug 'some debug message'
249
- L.info 'some info message'
250
- L.warn 'some warning message'
251
- L.error 'some error message'
252
- L.fatal 'some fatal message'
253
-
254
- L.kv('First Name', 'David')
255
- L.kv('Last Name', 'Cruwys')
256
- L.kv('Age', 45)
257
- L.kv('Sex', 'male')
258
-
259
- L.heading('Heading')
260
- L.subheading('Sub Heading')
261
- L.section_heading('Section Heading')
268
+ KLog.logger.debug 'some debug message'
269
+ KLog.logger.info 'some info message'
270
+ KLog.logger.warn 'some warning message'
271
+ KLog.logger.error 'some error message'
272
+ KLog.logger.fatal 'some fatal message'
273
+
274
+ KLog.logger.kv('First Name', 'David')
275
+ KLog.logger.kv('Last Name', 'Cruwys')
276
+ KLog.logger.kv('Age', 45)
277
+ KLog.logger.kv('Sex', 'male')
278
+
279
+ KLog.logger.heading('Heading')
280
+ KLog.logger.subheading('Sub Heading')
281
+ KLog.logger.section_heading('Section Heading')
262
282
  end
263
283
 
264
284
  def self.examples_complex
265
- L.block ['Line 1', 12, 'Line 3', true, 'Line 5']
285
+ KLog.logger.block ['Line 1', 12, 'Line 3', true, 'Line 5']
266
286
 
267
- L.progress(0, 'Section 1')
268
- L.progress
269
- L.progress
270
- save_progress = L.progress
287
+ KLog.logger.progress(0, 'Section 1')
288
+ KLog.logger.progress
289
+ KLog.logger.progress
290
+ save_progress = KLog.logger.progress
271
291
 
272
- L.progress(10, 'Section 2')
273
- L.progress
274
- L.progress
275
- L.progress
292
+ KLog.logger.progress(10, 'Section 2')
293
+ KLog.logger.progress
294
+ KLog.logger.progress
295
+ KLog.logger.progress
276
296
 
277
- L.progress(save_progress, 'Section 1')
278
- L.progress
279
- L.progress
280
- L.progress
297
+ KLog.logger.progress(save_progress, 'Section 1')
298
+ KLog.logger.progress
299
+ KLog.logger.progress
300
+ KLog.logger.progress
281
301
 
282
- L.line
283
- L.line(20)
284
- L.line(20, character: '-')
302
+ KLog.logger.line
303
+ KLog.logger.line(20)
304
+ KLog.logger.line(20, character: '-')
285
305
 
286
306
  yaml1 = {}
287
307
  yaml1['title'] = 'Software Architect'
@@ -293,28 +313,28 @@ module KLog
293
313
  yaml3['age'] = 20
294
314
  yaml3['name'] = 'Jin'
295
315
 
296
- L.yaml(yaml1)
316
+ KLog.logger.yaml(yaml1)
297
317
 
298
318
  yaml2 = OpenStruct.new
299
319
  yaml2.title = 'Software Architect'
300
320
  yaml2.age = 45
301
321
  yaml2.name = 'David'
302
322
 
303
- L.yaml(yaml2)
323
+ KLog.logger.yaml(yaml2)
304
324
 
305
325
  mixed_yaml_array = [yaml1, yaml2]
306
326
 
307
327
  # This fails because we don't correctly pre-process the array
308
- L.yaml(mixed_yaml_array)
328
+ KLog.logger.yaml(mixed_yaml_array)
309
329
 
310
330
  hash_yaml_array = [yaml1, yaml3]
311
331
 
312
- L.yaml(hash_yaml_array)
332
+ KLog.logger.yaml(hash_yaml_array)
313
333
 
314
334
  begin
315
335
  raise 'Here is an error'
316
336
  rescue StandardError => e
317
- L.exception(e)
337
+ KLog.logger.exception(e)
318
338
  end
319
339
  end
320
340
  # rubocop:enable Metrics/AbcSize, Metrics/MethodLength
data/lib/k_log/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KLog
4
- VERSION = '0.0.10'
4
+ VERSION = '0.0.15'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k_log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.15
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-04-01 00:00:00.000000000 Z
11
+ date: 2021-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: table_print