legion-logging 0.2.0 → 1.1.2

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: c76a87ff53da3ca6a79f77c2b89ca354a55aebc63fdc93f605baf1bbfc1a4234
4
- data.tar.gz: 0506f2b9fdbe0235c98578417b6440df5a74e969015667b59332453008645e4e
3
+ metadata.gz: 9b1efb3d106b47fa7884d216f0e819c43b34ea467fff711b8bbe36e3f1be4f94
4
+ data.tar.gz: 20dbffbebd7804d5ad1e7bd21fbc141fb486d99f1a06973acc1099d1e1e53b3c
5
5
  SHA512:
6
- metadata.gz: dd20f424acc7c9ec70142345de8c6765442918c1eb798f89f5802526be056d1008820f022c78438ab904cd5bfcba11c9896d4958facc363613bffed8b8b7f535
7
- data.tar.gz: 4c9c8f9d90093e492285e5067c300284b64bb129de5cde78067d40dde15c4cacadab30961b8767b6edfb8a1b920255c9de0d27075a94e63b0b08fefbf0538562
6
+ metadata.gz: 5f9bef85e2f2d2dd84989c57f7b210f17cb54d62bc9e82dfd19ac0bc8ab001e15716efd8391c3318b9dffde62c22d4218b454aa5c7024dd97bebaffbd771bece
7
+ data.tar.gz: bbb5b895500262914283b570dcd70ecfacb852bf35656e5bdffce7188e902204f3ee0312a19a24c57e38d630a1acda584959b69ad3de48fa9fc9c438236d44cc
@@ -1,11 +1,12 @@
1
1
  version: 2.1
2
2
  orbs:
3
3
  ruby: circleci/ruby@0.2.1
4
+ sonarcloud: sonarsource/sonarcloud@1.0.1
4
5
 
5
6
  jobs:
6
7
  "rubocop":
7
8
  docker:
8
- - image: circleci/ruby:2.5-node
9
+ - image: circleci/ruby:2.7-node
9
10
  steps:
10
11
  - checkout
11
12
  - ruby/load-cache
@@ -17,20 +18,24 @@ jobs:
17
18
  "ruby-two-five":
18
19
  docker:
19
20
  - image: circleci/ruby:2.5
20
- - image: memcached:1.5-alpine
21
21
  steps:
22
22
  - checkout
23
23
  - ruby/load-cache
24
+ - run:
25
+ name: update bundler
26
+ command: gem update bundler
24
27
  - ruby/install-deps
25
28
  - ruby/run-tests
26
29
  - ruby/save-cache
27
30
  "ruby-two-six":
28
31
  docker:
29
32
  - image: circleci/ruby:2.6
30
- - image: memcached:1.5-alpine
31
33
  steps:
32
34
  - checkout
33
35
  - ruby/load-cache
36
+ - run:
37
+ name: update bundler
38
+ command: gem update bundler
34
39
  - ruby/install-deps
35
40
  - ruby/run-tests
36
41
  - ruby/save-cache
@@ -44,6 +49,19 @@ jobs:
44
49
  - ruby/install-deps
45
50
  - ruby/run-tests
46
51
  - ruby/save-cache
52
+ "sonarcloud":
53
+ docker:
54
+ - image: circleci/ruby:2.7
55
+ steps:
56
+ - checkout
57
+ - ruby/load-cache
58
+ - ruby/install-deps
59
+ - ruby/run-tests
60
+ - run:
61
+ name: Run Rubocop
62
+ command: bundle exec rubocop --format=json --out=rubocop-result.json
63
+ - sonarcloud/scan
64
+ - ruby/save-cache
47
65
 
48
66
  workflows:
49
67
  version: 2
@@ -58,4 +76,8 @@ workflows:
58
76
  - ruby-two-five
59
77
  - ruby-two-seven:
60
78
  requires:
61
- - ruby-two-five
79
+ - ruby-two-five
80
+ - sonarcloud:
81
+ requires:
82
+ - ruby-two-seven
83
+ - ruby-two-six
data/.gitignore CHANGED
@@ -9,6 +9,7 @@
9
9
  /tmp/
10
10
  /rspec/
11
11
  /test-results/
12
+ .idea
12
13
 
13
14
  # rspec failure tracking
14
15
  .rspec_status
@@ -1,11 +1,11 @@
1
- Metrics/LineLength:
1
+ Layout/LineLength:
2
2
  Max: 120
3
3
  Metrics/MethodLength:
4
4
  Max: 30
5
5
  Metrics/ClassLength:
6
6
  Max: 1500
7
7
  Metrics/BlockLength:
8
- Max: 50
8
+ Max: 75
9
9
  Layout/SpaceAroundEqualsInParameterDefault:
10
10
  EnforcedStyle: space
11
11
  Style/SymbolArray:
@@ -16,6 +16,7 @@ Layout/HashAlignment:
16
16
  Style/Documentation:
17
17
  Enabled: false
18
18
  AllCops:
19
- TargetRubyVersion: 2.6
19
+ TargetRubyVersion: 2.5
20
+ NewCops: enable
20
21
  Style/FrozenStringLiteralComment:
21
22
  Enabled: false
@@ -1,5 +1,9 @@
1
1
  # Legion::Logging Changelog
2
2
 
3
+ ## v1.1.1
4
+ * Updating default log level to info instead of debug
5
+ * Cleaning up some RSpec tests
6
+
3
7
  ## v0.1.3
4
8
  * Updating `.rubocop.yml`
5
9
  * Adding in logic for LOGGING-1 LOGGING-5
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in legion-logging.gemspec
4
3
  gemspec
@@ -1,33 +1,18 @@
1
- image: ruby:2.4.0
1
+ image: ruby:2.7.0
2
2
 
3
3
  pipelines:
4
4
  branches:
5
5
  master:
6
- - step:
7
- caches:
8
- - bundler
9
- script:
10
- - gem install bundle rubocop
11
- - bundle install
12
- - rubocop
13
- - rake
14
- - step:
15
- name: Deploy to test gem server
16
- deployment: test
17
- script:
18
- - gem install bundle geminabox
19
- - bundle install
20
- - gem build legion-logging.gemspec
21
- - gem inabox legion-logging*.gem -g https://gems.whonodes.org/ -o
22
- default:
23
- - step:
24
- caches:
25
- - bundler
26
- script:
27
- - gem install bundle rubocop
28
- - bundle install
29
- - rubocop
30
- - rake
31
- definitions:
32
- caches:
33
- bundler: vendor/bundle
6
+ - step:
7
+ name: Push to RubyGems
8
+ deployment: RubyGems
9
+ script:
10
+ - gem install bundler gem-release rake rspec
11
+ - bundle install
12
+ - rake build
13
+ - mkdir .gem
14
+ - (umask 077 ; echo $gem_creds | base64 --decode > .gem/credentials)
15
+ - gem release
16
+ - gem tag --push
17
+ artifacts:
18
+ - pkg/**
@@ -18,11 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.metadata['homepage_uri'] = 'https://bitbucket.org/legion-io/legion-logging'
19
19
  spec.metadata['source_code_uri'] = 'https://bitbucket.org/legion-io/legion-logging'
20
20
  spec.metadata['wiki_uri'] = 'https://bitbucket.org/legion-io/legion-logging/wiki/Home'
21
-
21
+ spec.required_ruby_version = '>= 2.5.0'
22
22
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
23
23
  f.match(%r{^(test|spec|features)/})
24
24
  end
25
- spec.bindir = 'exe'
26
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
26
  spec.require_paths = ['lib']
28
27
 
@@ -32,7 +31,8 @@ Gem::Specification.new do |spec|
32
31
  spec.add_development_dependency 'rspec'
33
32
  spec.add_development_dependency 'rspec_junit_formatter'
34
33
  spec.add_development_dependency 'rubocop'
35
- spec.add_development_dependency 'simplecov'
34
+ spec.add_development_dependency 'rubocop-performance'
35
+ spec.add_development_dependency 'simplecov', '< 0.18.0'
36
36
 
37
37
  spec.add_dependency 'rainbow', '~> 3'
38
38
  end
@@ -17,9 +17,9 @@ module Legion
17
17
  @log.level
18
18
  end
19
19
 
20
- def setup(options = {})
20
+ def setup(level: 'info', **options)
21
21
  output(options)
22
- log_level(options[:level])
22
+ log_level(level)
23
23
  log_format(options)
24
24
  @color = options[:color]
25
25
  @color = true if options[:color].nil? && options[:log_file].nil?
@@ -8,15 +8,15 @@ module Legion
8
8
  data = caller_locations[4].to_s.split('/').last(2)
9
9
  runner_trace = {
10
10
  type: data[0],
11
- file: file = data[1].split('.')[0], # rubocop:disable Lint/UselessAssignment
11
+ file: data[1].split('.')[0],
12
12
  function: data[1].split('`')[1].delete_suffix('\''),
13
- line_number: line_number = data[1].split(':')[1] # rubocop:disable Lint/UselessAssignment
13
+ line_number: data[1].split(':')[1]
14
14
  }
15
15
  end
16
16
  string = "[#{datetime}][#{::Process.pid}]"
17
17
  string.concat(options[:lex_name]) unless options[:lex_name].nil?
18
- if runner_trace.is_a?(Hash) && options[:extended]
19
- string.concat("[#{runner_trace[:file]}:#{runner_trace[:line_number]}]")
18
+ if runner_trace.is_a?(Hash) && (options[:extended] || severity == 'debug')
19
+ string.concat("[#{runner_trace[:type]}:#{runner_trace[:file]}:#{runner_trace[:line_number]}]")
20
20
  end
21
21
  string.concat(" #{severity} #{msg}\n")
22
22
  string
@@ -28,18 +28,19 @@ module Legion
28
28
  @log = ::Logger.new(options[:log_file]) unless options[:log_file].nil?
29
29
  end
30
30
 
31
- def log_level(level = 'debug', log = @log) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
32
- if level == 'trace'
31
+ def log_level(level = 'info', log = @log)
32
+ case level
33
+ when 'trace'
33
34
  log.level = ::Logger::INFO
34
- elsif level == 'debug'
35
+ when 'debug'
35
36
  log.level = ::Logger::DEBUG
36
- elsif level == 'info'
37
+ when 'info'
37
38
  log.level = ::Logger::INFO
38
- elsif level == 'warn'
39
+ when 'warn'
39
40
  log.level = ::Logger::WARN
40
- elsif level == 'error'
41
+ when 'error'
41
42
  log.level = ::Logger::ERROR
42
- elsif level == 'fatal'
43
+ when 'fatal'
43
44
  log.level = ::Logger::FATAL
44
45
  end
45
46
  @log = log
@@ -5,6 +5,7 @@ module Legion
5
5
  module Logging
6
6
  class Logger
7
7
  attr_accessor :log, :color, :level, :lex, :log_file, :trace_enabled, :extended
8
+
8
9
  include Legion::Logging::Methods
9
10
  include Legion::Logging::Builder
10
11
 
@@ -1,12 +1,12 @@
1
1
  module Legion
2
2
  module Logging
3
3
  module Methods
4
- def trace(raw_message = nil, log = @log, size: @trace_size, log_caller: true) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/AbcSize
4
+ def trace(raw_message = nil, log = @log, size: @trace_size, log_caller: true) # rubocop:disable Metrics/AbcSize
5
5
  return unless @trace_enabled
6
6
 
7
7
  raw_message = yield if raw_message.nil? && block_given?
8
8
  message = Rainbow('Tracing: ').cyan
9
- message.concat Rainbow(raw_message + ' ').cyan
9
+ message.concat Rainbow("#{raw_message} ").cyan
10
10
  if log_caller && size.nil?
11
11
  message.concat Rainbow(caller_locations).cyan.underline
12
12
  elsif log_caller
@@ -68,7 +68,7 @@ module Legion
68
68
  { success: false, message: exc.message, backtrace: exc.backtrace }.merge(opts)
69
69
  end
70
70
 
71
- def thread(kvl: false)
71
+ def thread(kvl: false, **_opts)
72
72
  if kvl
73
73
  "thread=#{Thread.current.object_id}"
74
74
  else
@@ -1,5 +1,5 @@
1
1
  module Legion
2
2
  module Logging
3
- VERSION = '0.2.0'.freeze
3
+ VERSION = '1.1.2'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1,12 @@
1
+ sonar.projectKey=legion-io_legion-logging
2
+ sonar.organization=legion-io
3
+ sonar.projectName=Legion::Logging
4
+ sonar.sources=.
5
+ sonar.exclusions=vendor/**
6
+ sonar.coverage.exclusions=spec/**
7
+ sonar.ruby.coverage.reportPath=coverage/.resultset.json
8
+ sonar.ruby.file.suffixes=rb,ruby
9
+ sonar.ruby.coverage.framework=RSpec
10
+ sonar.ruby.rubocopConfig=.rubocop.yml
11
+ sonar.ruby.rubocop.reportPath=rubocop-result.json
12
+ sonar.ruby.rubocop.filePath=.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: legion-logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
8
- autorequire:
9
- bindir: exe
8
+ autorequire:
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-27 00:00:00.000000000 Z
11
+ date: 2020-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: simplecov
98
+ name: rubocop-performance
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: simplecov
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "<"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.18.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "<"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.18.0
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rainbow
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +148,7 @@ files:
134
148
  - ".rubocop.yml"
135
149
  - CHANGELOG.md
136
150
  - Gemfile
151
+ - Gemfile.lock
137
152
  - README.md
138
153
  - Rakefile
139
154
  - bitbucket-pipelines.yml
@@ -143,6 +158,7 @@ files:
143
158
  - lib/legion/logging/logger.rb
144
159
  - lib/legion/logging/methods.rb
145
160
  - lib/legion/logging/version.rb
161
+ - sonar-project.properties
146
162
  homepage: https://bitbucket.org/legion-io/legion-logging
147
163
  licenses: []
148
164
  metadata:
@@ -152,7 +168,7 @@ metadata:
152
168
  homepage_uri: https://bitbucket.org/legion-io/legion-logging
153
169
  source_code_uri: https://bitbucket.org/legion-io/legion-logging
154
170
  wiki_uri: https://bitbucket.org/legion-io/legion-logging/wiki/Home
155
- post_install_message:
171
+ post_install_message:
156
172
  rdoc_options: []
157
173
  require_paths:
158
174
  - lib
@@ -160,15 +176,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
160
176
  requirements:
161
177
  - - ">="
162
178
  - !ruby/object:Gem::Version
163
- version: '0'
179
+ version: 2.5.0
164
180
  required_rubygems_version: !ruby/object:Gem::Requirement
165
181
  requirements:
166
182
  - - ">="
167
183
  - !ruby/object:Gem::Version
168
184
  version: '0'
169
185
  requirements: []
170
- rubygems_version: 3.0.3
171
- signing_key:
186
+ rubygems_version: 3.1.2
187
+ signing_key:
172
188
  specification_version: 4
173
189
  summary: The Legion::Logging class
174
190
  test_files: []