legion-logging 0.2.0 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
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: []