betterlog 0.20.2 → 1.0.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 +4 -4
- data/.github/workflows/codeql-analysis.yml +72 -0
- data/.semaphore/semaphore.yml +0 -18
- data/.tool-versions +2 -3
- data/Rakefile +1 -3
- data/VERSION +1 -1
- data/betterlog.gemspec +10 -14
- data/bin/betterlog +6 -0
- data/lib/betterlog/version.rb +1 -1
- data/lib/betterlog.rb +1 -1
- data/spec/betterlog/global_metadata_spec.rb +9 -7
- data/spec/betterlog/version_spec.rb +7 -0
- data/spec/spec_helper.rb +0 -6
- metadata +8 -52
- data/Dockerfile +0 -44
- data/Makefile +0 -71
- data/TODO.md +0 -1
- data/betterlog/config.go +0 -11
- data/betterlog/healthz.go +0 -71
- data/betterlog/redis_cert_cache.go +0 -83
- data/bin/betterlog_pusher +0 -51
- data/bin/betterlog_sink +0 -47
- data/cloudbuild.yaml +0 -7
- data/cmd/betterlog-server/LICENSE +0 -13
- data/cmd/betterlog-server/main.go +0 -83
- data/go.mod +0 -16
- data/go.sum +0 -136
- data/lib/betterlog/logger.rb +0 -143
- data/spec/betterlog/logger_spec.rb +0 -96
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5171f51dc33171a188c72054895f947fe0fd9ccbe3e3d0e18a9762195cf74b0
|
4
|
+
data.tar.gz: 6111239b6014bf07aadba0431c2f586245f51b7f61f1a6fb5530c0e95bb94705
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7a065c7e29dbb54423a04128fdc5570d1a2ebf972d0898a4da072b2e215d734c0df3223f9e8b2f704ce8ece011994f17cd6629d20bec494f9808d3ed8350133
|
7
|
+
data.tar.gz: 69833be6a6378e8891f08861f1eaba1207871582cf71b6275f08dd6a87bde9c177c9dbb7757296879c23bf1907b0207547c6ed25b3f4e64c677ac5a7430c4765
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# For most projects, this workflow file will not need changing; you simply need
|
2
|
+
# to commit it to your repository.
|
3
|
+
#
|
4
|
+
# You may wish to alter this file to override the set of languages analyzed,
|
5
|
+
# or to provide custom queries or build logic.
|
6
|
+
#
|
7
|
+
# ******** NOTE ********
|
8
|
+
# We have attempted to detect the languages in your repository. Please check
|
9
|
+
# the `language` matrix defined below to confirm you have the correct set of
|
10
|
+
# supported CodeQL languages.
|
11
|
+
#
|
12
|
+
name: "CodeQL"
|
13
|
+
|
14
|
+
on:
|
15
|
+
push:
|
16
|
+
branches: [ master ]
|
17
|
+
pull_request:
|
18
|
+
# The branches below must be a subset of the branches above
|
19
|
+
branches: [ master ]
|
20
|
+
schedule:
|
21
|
+
- cron: '27 21 * * 1'
|
22
|
+
|
23
|
+
jobs:
|
24
|
+
analyze:
|
25
|
+
name: Analyze
|
26
|
+
runs-on: ubuntu-latest
|
27
|
+
permissions:
|
28
|
+
actions: read
|
29
|
+
contents: read
|
30
|
+
security-events: write
|
31
|
+
|
32
|
+
strategy:
|
33
|
+
fail-fast: false
|
34
|
+
matrix:
|
35
|
+
language: [ 'go', 'ruby' ]
|
36
|
+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
37
|
+
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
38
|
+
|
39
|
+
steps:
|
40
|
+
- name: Checkout repository
|
41
|
+
uses: actions/checkout@v3
|
42
|
+
|
43
|
+
# Initializes the CodeQL tools for scanning.
|
44
|
+
- name: Initialize CodeQL
|
45
|
+
uses: github/codeql-action/init@v2
|
46
|
+
with:
|
47
|
+
languages: ${{ matrix.language }}
|
48
|
+
# If you wish to specify custom queries, you can do so here or in a config file.
|
49
|
+
# By default, queries listed here will override any specified in a config file.
|
50
|
+
# Prefix the list here with "+" to use these queries and those in the config file.
|
51
|
+
|
52
|
+
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
53
|
+
# queries: security-extended,security-and-quality
|
54
|
+
|
55
|
+
|
56
|
+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
57
|
+
# If this step fails, then you should remove it and run the build manually (see below)
|
58
|
+
- name: Autobuild
|
59
|
+
uses: github/codeql-action/autobuild@v2
|
60
|
+
|
61
|
+
# ℹ️ Command-line programs to run using the OS shell.
|
62
|
+
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
63
|
+
|
64
|
+
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
65
|
+
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
66
|
+
|
67
|
+
# - run: |
|
68
|
+
# echo "Run, Build Application using script"
|
69
|
+
# ./location_of_script_within_repo/buildscript.sh
|
70
|
+
|
71
|
+
- name: Perform CodeQL Analysis
|
72
|
+
uses: github/codeql-action/analyze@v2
|
data/.semaphore/semaphore.yml
CHANGED
@@ -43,21 +43,3 @@ blocks:
|
|
43
43
|
- name: RSpec Unit Tests
|
44
44
|
commands:
|
45
45
|
- bundle exec rake
|
46
|
-
|
47
|
-
- name: Building Docker Image
|
48
|
-
task:
|
49
|
-
|
50
|
-
secrets:
|
51
|
-
- name: GCP
|
52
|
-
|
53
|
-
prologue:
|
54
|
-
commands:
|
55
|
-
- gcloud auth activate-service-account --key-file=.secrets/gcp.json
|
56
|
-
- gcloud auth configure-docker -q eu.gcr.io
|
57
|
-
- checkout
|
58
|
-
|
59
|
-
jobs:
|
60
|
-
- name: Building and pushing
|
61
|
-
commands:
|
62
|
-
- make build
|
63
|
-
- test "$SEMAPHORE_GIT_BRANCH" = "master" && make push-latest || true
|
data/.tool-versions
CHANGED
@@ -1,3 +1,2 @@
|
|
1
|
-
ruby 3.
|
2
|
-
bundler 2.
|
3
|
-
golang 1.17
|
1
|
+
ruby 3.1.2
|
2
|
+
bundler 2.3.17
|
data/Rakefile
CHANGED
@@ -16,21 +16,19 @@ GemHadar do
|
|
16
16
|
'gospace'
|
17
17
|
readme 'README.md'
|
18
18
|
title "#{name.camelize}"
|
19
|
-
executables %w[ betterlog
|
19
|
+
executables %w[ betterlog ]
|
20
20
|
|
21
21
|
dependency 'tins', '~>1.3', '>=1.22.0'
|
22
22
|
dependency 'complex_config'
|
23
23
|
dependency 'file-tail', '~>1.0'
|
24
24
|
dependency 'json', '~>2.0'
|
25
25
|
dependency 'term-ansicolor', '~>1.3'
|
26
|
-
dependency 'redis', '>=2.8'
|
27
26
|
dependency 'redlock'
|
28
27
|
dependency 'excon'
|
29
28
|
|
30
29
|
development_dependency 'rake'
|
31
30
|
development_dependency 'rspec'
|
32
31
|
development_dependency 'simplecov'
|
33
|
-
development_dependency 'mock_redis'
|
34
32
|
end
|
35
33
|
|
36
34
|
task :default => :spec
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
data/betterlog.gemspec
CHANGED
@@ -1,55 +1,51 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: betterlog 0.
|
2
|
+
# stub: betterlog 1.0.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "betterlog".freeze
|
6
|
-
s.version = "0.
|
6
|
+
s.version = "1.0.0"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["betterplace Developers".freeze]
|
11
|
-
s.date = "
|
11
|
+
s.date = "2023-01-30"
|
12
12
|
s.description = "This library provides structure json logging for our rails projects".freeze
|
13
13
|
s.email = "developers@betterplace.org".freeze
|
14
|
-
s.executables = ["betterlog".freeze
|
15
|
-
s.extra_rdoc_files = ["README.md".freeze, "lib/betterlog.rb".freeze, "lib/betterlog/global_metadata.rb".freeze, "lib/betterlog/log.rb".freeze, "lib/betterlog/log/event.rb".freeze, "lib/betterlog/log/event_formatter.rb".freeze, "lib/betterlog/log/severity.rb".freeze, "lib/betterlog/log_event_formatter.rb".freeze, "lib/betterlog/
|
16
|
-
s.files = [".gitignore".freeze, ".semaphore/semaphore.yml".freeze, ".tool-versions".freeze, "
|
14
|
+
s.executables = ["betterlog".freeze]
|
15
|
+
s.extra_rdoc_files = ["README.md".freeze, "lib/betterlog.rb".freeze, "lib/betterlog/global_metadata.rb".freeze, "lib/betterlog/log.rb".freeze, "lib/betterlog/log/event.rb".freeze, "lib/betterlog/log/event_formatter.rb".freeze, "lib/betterlog/log/severity.rb".freeze, "lib/betterlog/log_event_formatter.rb".freeze, "lib/betterlog/notifiers.rb".freeze, "lib/betterlog/railtie.rb".freeze, "lib/betterlog/version.rb".freeze]
|
16
|
+
s.files = [".github/workflows/codeql-analysis.yml".freeze, ".gitignore".freeze, ".semaphore/semaphore.yml".freeze, ".tool-versions".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "betterlog.gemspec".freeze, "bin/betterlog".freeze, "config/log.yml".freeze, "lib/betterlog.rb".freeze, "lib/betterlog/global_metadata.rb".freeze, "lib/betterlog/log.rb".freeze, "lib/betterlog/log/event.rb".freeze, "lib/betterlog/log/event_formatter.rb".freeze, "lib/betterlog/log/severity.rb".freeze, "lib/betterlog/log_event_formatter.rb".freeze, "lib/betterlog/notifiers.rb".freeze, "lib/betterlog/railtie.rb".freeze, "lib/betterlog/version.rb".freeze, "spec/betterlog/global_metadata_spec.rb".freeze, "spec/betterlog/log/event_spec.rb".freeze, "spec/betterlog/log/severity_spec.rb".freeze, "spec/betterlog/log_event_formatter_spec.rb".freeze, "spec/betterlog/log_spec.rb".freeze, "spec/betterlog/version_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
17
17
|
s.homepage = "http://github.com/betterplace/betterlog".freeze
|
18
18
|
s.rdoc_options = ["--title".freeze, "Betterlog".freeze, "--main".freeze, "README.md".freeze]
|
19
|
-
s.rubygems_version = "3.
|
19
|
+
s.rubygems_version = "3.3.25".freeze
|
20
20
|
s.summary = "Structured logging support for bp".freeze
|
21
|
-
s.test_files = ["spec/betterlog/global_metadata_spec.rb".freeze, "spec/betterlog/log/event_spec.rb".freeze, "spec/betterlog/log/severity_spec.rb".freeze, "spec/betterlog/log_event_formatter_spec.rb".freeze, "spec/betterlog/log_spec.rb".freeze, "spec/betterlog/
|
21
|
+
s.test_files = ["spec/betterlog/global_metadata_spec.rb".freeze, "spec/betterlog/log/event_spec.rb".freeze, "spec/betterlog/log/severity_spec.rb".freeze, "spec/betterlog/log_event_formatter_spec.rb".freeze, "spec/betterlog/log_spec.rb".freeze, "spec/betterlog/version_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
22
22
|
|
23
23
|
if s.respond_to? :specification_version then
|
24
24
|
s.specification_version = 4
|
25
25
|
end
|
26
26
|
|
27
27
|
if s.respond_to? :add_runtime_dependency then
|
28
|
-
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.
|
28
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
|
29
29
|
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
30
30
|
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
31
31
|
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
32
|
-
s.add_development_dependency(%q<mock_redis>.freeze, [">= 0"])
|
33
32
|
s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.3", ">= 1.22.0"])
|
34
33
|
s.add_runtime_dependency(%q<complex_config>.freeze, [">= 0"])
|
35
34
|
s.add_runtime_dependency(%q<file-tail>.freeze, ["~> 1.0"])
|
36
35
|
s.add_runtime_dependency(%q<json>.freeze, ["~> 2.0"])
|
37
36
|
s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.3"])
|
38
|
-
s.add_runtime_dependency(%q<redis>.freeze, [">= 2.8"])
|
39
37
|
s.add_runtime_dependency(%q<redlock>.freeze, [">= 0"])
|
40
38
|
s.add_runtime_dependency(%q<excon>.freeze, [">= 0"])
|
41
39
|
else
|
42
|
-
s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.
|
40
|
+
s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
|
43
41
|
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
44
42
|
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
45
43
|
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
46
|
-
s.add_dependency(%q<mock_redis>.freeze, [">= 0"])
|
47
44
|
s.add_dependency(%q<tins>.freeze, ["~> 1.3", ">= 1.22.0"])
|
48
45
|
s.add_dependency(%q<complex_config>.freeze, [">= 0"])
|
49
46
|
s.add_dependency(%q<file-tail>.freeze, ["~> 1.0"])
|
50
47
|
s.add_dependency(%q<json>.freeze, ["~> 2.0"])
|
51
48
|
s.add_dependency(%q<term-ansicolor>.freeze, ["~> 1.3"])
|
52
|
-
s.add_dependency(%q<redis>.freeze, [">= 2.8"])
|
53
49
|
s.add_dependency(%q<redlock>.freeze, [">= 0"])
|
54
50
|
s.add_dependency(%q<excon>.freeze, [">= 0"])
|
55
51
|
end
|
data/bin/betterlog
CHANGED
@@ -46,6 +46,12 @@ module Betterlog
|
|
46
46
|
|
47
47
|
$ betterlog -f -F rails -p long -c -S ">=error"
|
48
48
|
|
49
|
+
- Match any event containing SELECT
|
50
|
+
|
51
|
+
$ betterlog -f -s SELECT
|
52
|
+
|
53
|
+
$ betterlog -f -s meta:module=api_v4
|
54
|
+
|
49
55
|
- Follow rails AND redis logs with default format in colors
|
50
56
|
including the last 10 lines:
|
51
57
|
|
data/lib/betterlog/version.rb
CHANGED
data/lib/betterlog.rb
CHANGED
@@ -6,10 +6,10 @@ require 'term/ansicolor'
|
|
6
6
|
module Betterlog
|
7
7
|
end
|
8
8
|
|
9
|
+
require 'betterlog/version'
|
9
10
|
require 'betterlog/log'
|
10
11
|
require 'betterlog/notifiers'
|
11
12
|
require 'betterlog/global_metadata'
|
12
|
-
require 'betterlog/logger'
|
13
13
|
|
14
14
|
if defined? Rails
|
15
15
|
require 'betterlog/railtie'
|
@@ -1,12 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Betterlog::GlobalMetadata do
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
class FakeNotifierClass
|
5
|
+
def notify(message, hash) end
|
6
|
+
|
7
|
+
def context(data_hash) end
|
8
|
+
end
|
7
9
|
|
8
|
-
|
9
|
-
|
10
|
+
let :notifier do
|
11
|
+
FakeNotifierClass.new
|
10
12
|
end
|
11
13
|
|
12
14
|
around do |example|
|
@@ -27,12 +29,12 @@ describe Betterlog::GlobalMetadata do
|
|
27
29
|
end
|
28
30
|
|
29
31
|
it 'can "add" data' do
|
30
|
-
|
32
|
+
expect_any_instance_of(FakeNotifierClass).to receive(:context).with(foo: 'bar')
|
31
33
|
expect(described_class.add(foo: 'bar')).to eq described_class.instance
|
32
34
|
end
|
33
35
|
|
34
36
|
it 'can "add" data via Log.context' do
|
35
|
-
|
37
|
+
expect_any_instance_of(FakeNotifierClass).to receive(:context).with(foo: 'bar')
|
36
38
|
Betterlog::Log.context(foo: 'bar')
|
37
39
|
end
|
38
40
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -9,11 +9,5 @@ begin
|
|
9
9
|
require 'byebug'
|
10
10
|
rescue LoadError
|
11
11
|
end
|
12
|
-
require 'mock_redis'
|
13
|
-
class MockRedis
|
14
|
-
class BaseConnectionError < StandardError; end
|
15
|
-
class CannotConnectError < BaseConnectionError; end
|
16
|
-
end
|
17
|
-
Redis=MockRedis
|
18
12
|
require 'betterlog'
|
19
13
|
Betterlog::Log.default_logger = Logger.new(nil)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: betterlog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- betterplace Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.12.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.12.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: mock_redis
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: tins
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,20 +142,6 @@ dependencies:
|
|
156
142
|
- - "~>"
|
157
143
|
- !ruby/object:Gem::Version
|
158
144
|
version: '1.3'
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: redis
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - ">="
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: '2.8'
|
166
|
-
type: :runtime
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - ">="
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: '2.8'
|
173
145
|
- !ruby/object:Gem::Dependency
|
174
146
|
name: redlock
|
175
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -202,8 +174,6 @@ description: This library provides structure json logging for our rails projects
|
|
202
174
|
email: developers@betterplace.org
|
203
175
|
executables:
|
204
176
|
- betterlog
|
205
|
-
- betterlog_pusher
|
206
|
-
- betterlog_sink
|
207
177
|
extensions: []
|
208
178
|
extra_rdoc_files:
|
209
179
|
- README.md
|
@@ -214,35 +184,22 @@ extra_rdoc_files:
|
|
214
184
|
- lib/betterlog/log/event_formatter.rb
|
215
185
|
- lib/betterlog/log/severity.rb
|
216
186
|
- lib/betterlog/log_event_formatter.rb
|
217
|
-
- lib/betterlog/logger.rb
|
218
187
|
- lib/betterlog/notifiers.rb
|
219
188
|
- lib/betterlog/railtie.rb
|
220
189
|
- lib/betterlog/version.rb
|
221
190
|
files:
|
191
|
+
- ".github/workflows/codeql-analysis.yml"
|
222
192
|
- ".gitignore"
|
223
193
|
- ".semaphore/semaphore.yml"
|
224
194
|
- ".tool-versions"
|
225
|
-
- Dockerfile
|
226
195
|
- Gemfile
|
227
196
|
- LICENSE
|
228
|
-
- Makefile
|
229
197
|
- README.md
|
230
198
|
- Rakefile
|
231
|
-
- TODO.md
|
232
199
|
- VERSION
|
233
200
|
- betterlog.gemspec
|
234
|
-
- betterlog/config.go
|
235
|
-
- betterlog/healthz.go
|
236
|
-
- betterlog/redis_cert_cache.go
|
237
201
|
- bin/betterlog
|
238
|
-
- bin/betterlog_pusher
|
239
|
-
- bin/betterlog_sink
|
240
|
-
- cloudbuild.yaml
|
241
|
-
- cmd/betterlog-server/LICENSE
|
242
|
-
- cmd/betterlog-server/main.go
|
243
202
|
- config/log.yml
|
244
|
-
- go.mod
|
245
|
-
- go.sum
|
246
203
|
- lib/betterlog.rb
|
247
204
|
- lib/betterlog/global_metadata.rb
|
248
205
|
- lib/betterlog/log.rb
|
@@ -250,7 +207,6 @@ files:
|
|
250
207
|
- lib/betterlog/log/event_formatter.rb
|
251
208
|
- lib/betterlog/log/severity.rb
|
252
209
|
- lib/betterlog/log_event_formatter.rb
|
253
|
-
- lib/betterlog/logger.rb
|
254
210
|
- lib/betterlog/notifiers.rb
|
255
211
|
- lib/betterlog/railtie.rb
|
256
212
|
- lib/betterlog/version.rb
|
@@ -259,7 +215,7 @@ files:
|
|
259
215
|
- spec/betterlog/log/severity_spec.rb
|
260
216
|
- spec/betterlog/log_event_formatter_spec.rb
|
261
217
|
- spec/betterlog/log_spec.rb
|
262
|
-
- spec/betterlog/
|
218
|
+
- spec/betterlog/version_spec.rb
|
263
219
|
- spec/spec_helper.rb
|
264
220
|
homepage: http://github.com/betterplace/betterlog
|
265
221
|
licenses: []
|
@@ -283,7 +239,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
283
239
|
- !ruby/object:Gem::Version
|
284
240
|
version: '0'
|
285
241
|
requirements: []
|
286
|
-
rubygems_version: 3.
|
242
|
+
rubygems_version: 3.3.25
|
287
243
|
signing_key:
|
288
244
|
specification_version: 4
|
289
245
|
summary: Structured logging support for bp
|
@@ -293,5 +249,5 @@ test_files:
|
|
293
249
|
- spec/betterlog/log/severity_spec.rb
|
294
250
|
- spec/betterlog/log_event_formatter_spec.rb
|
295
251
|
- spec/betterlog/log_spec.rb
|
296
|
-
- spec/betterlog/
|
252
|
+
- spec/betterlog/version_spec.rb
|
297
253
|
- spec/spec_helper.rb
|
data/Dockerfile
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
FROM alpine:3.14.2 AS builder
|
2
|
-
|
3
|
-
# Update/Upgrade/Add packages for building
|
4
|
-
|
5
|
-
RUN apk add --no-cache bash git go build-base
|
6
|
-
|
7
|
-
# Build happening
|
8
|
-
|
9
|
-
WORKDIR /build/betterlog
|
10
|
-
|
11
|
-
ADD . .
|
12
|
-
|
13
|
-
ENV GOPATH=/build/betterlog/gospace
|
14
|
-
|
15
|
-
RUN make clobber
|
16
|
-
|
17
|
-
RUN go get -u github.com/betterplace/go-init
|
18
|
-
|
19
|
-
RUN make setup all
|
20
|
-
|
21
|
-
FROM alpine:3.14.2 AS runner
|
22
|
-
|
23
|
-
# Update/Upgrade/Add packages
|
24
|
-
|
25
|
-
RUN apk add --no-cache bash ca-certificates
|
26
|
-
|
27
|
-
RUN apk add --no-cache tzdata && \
|
28
|
-
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
|
29
|
-
echo Europe/Berlin >/etc/timezone && \
|
30
|
-
apk del tzdata
|
31
|
-
|
32
|
-
ARG APP_DIR=/app
|
33
|
-
|
34
|
-
RUN adduser -h ${APP_DIR} -s /bin/bash -D appuser
|
35
|
-
|
36
|
-
RUN mkdir -p /opt/bin
|
37
|
-
|
38
|
-
COPY --from=builder --chown=appuser:appuser /build/betterlog/gospace/bin/go-init /build/betterlog/betterlog-server /opt/bin/
|
39
|
-
|
40
|
-
ENV PATH /opt/bin:${PATH}
|
41
|
-
|
42
|
-
EXPOSE 5514
|
43
|
-
|
44
|
-
CMD [ "/opt/bin/go-init", "-pre", "/bin/sleep 3", "-main", "/opt/bin/betterlog-server" ]
|
data/Makefile
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
DOCKER_IMAGE_LATEST = betterlog
|
2
|
-
DOCKER_IMAGE = $(DOCKER_IMAGE_LATEST):$(REVISION_SHORT)
|
3
|
-
PROJECT_ID = betterplace-183212
|
4
|
-
REMOTE_LATEST_TAG := eu.gcr.io/${PROJECT_ID}/$(DOCKER_IMAGE_LATEST)
|
5
|
-
REMOTE_TAG = eu.gcr.io/$(PROJECT_ID)/$(DOCKER_IMAGE)
|
6
|
-
REVISION := $(shell git rev-parse HEAD)
|
7
|
-
REVISION_SHORT := $(shell echo $(REVISION) | head -c 7)
|
8
|
-
GOPATH := $(shell pwd)/gospace
|
9
|
-
GOBIN = $(GOPATH)/bin
|
10
|
-
|
11
|
-
.EXPORT_ALL_VARIABLES:
|
12
|
-
|
13
|
-
all: betterlog-server
|
14
|
-
|
15
|
-
betterlog-server: cmd/betterlog-server/main.go betterlog/*.go
|
16
|
-
go build -o $@ $<
|
17
|
-
|
18
|
-
local: betterlog-server
|
19
|
-
REDIS_URL=$(REDIS_URL) ./betterlog-server
|
20
|
-
|
21
|
-
setup: fake-package
|
22
|
-
go mod download
|
23
|
-
|
24
|
-
fake-package:
|
25
|
-
rm -rf $(GOPATH)/src/github.com/betterplace/betterlog
|
26
|
-
mkdir -p $(GOPATH)/src/github.com/betterplace
|
27
|
-
ln -s $(shell pwd) $(GOPATH)/src/github.com/betterplace/betterlog
|
28
|
-
|
29
|
-
test:
|
30
|
-
@go test
|
31
|
-
|
32
|
-
coverage:
|
33
|
-
@go test -coverprofile=coverage.out
|
34
|
-
|
35
|
-
coverage-display: coverage
|
36
|
-
@go tool cover -html=coverage.out
|
37
|
-
|
38
|
-
clean:
|
39
|
-
@rm -f betterlog-server coverage.out tags
|
40
|
-
|
41
|
-
clobber: clean
|
42
|
-
@rm -rf $(GOPATH)/*
|
43
|
-
|
44
|
-
tags: clean
|
45
|
-
@gotags -tag-relative=false -silent=true -R=true -f $@ . $(GOPATH)
|
46
|
-
|
47
|
-
build-info:
|
48
|
-
@echo $(DOCKER_IMAGE)
|
49
|
-
|
50
|
-
build:
|
51
|
-
docker build --pull -t $(DOCKER_IMAGE) .
|
52
|
-
$(MAKE) build-info
|
53
|
-
|
54
|
-
build-force:
|
55
|
-
docker build --pull -t $(DOCKER_IMAGE) --no-cache .
|
56
|
-
$(MAKE) build-info
|
57
|
-
|
58
|
-
debug:
|
59
|
-
docker run --rm -it $(DOCKER_IMAGE) bash
|
60
|
-
|
61
|
-
pull:
|
62
|
-
docker pull $(REMOTE_TAG)
|
63
|
-
docker tag $(REMOTE_TAG) $(DOCKER_IMAGE)
|
64
|
-
|
65
|
-
push: build
|
66
|
-
docker tag $(DOCKER_IMAGE) $(REMOTE_TAG)
|
67
|
-
docker push $(REMOTE_TAG)
|
68
|
-
|
69
|
-
push-latest: push
|
70
|
-
docker tag ${DOCKER_IMAGE} ${REMOTE_LATEST_TAG}
|
71
|
-
docker push ${REMOTE_LATEST_TAG}
|
data/TODO.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
- `complex_config` config files
|
data/betterlog/config.go
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
package betterlog
|
2
|
-
|
3
|
-
type Config struct {
|
4
|
-
PORT int `default:"5514"`
|
5
|
-
HEALTHZ_PORT int `default:"5513"`
|
6
|
-
HTTP_REALM string `default:"betterlog"`
|
7
|
-
HTTP_AUTH string
|
8
|
-
SSL bool
|
9
|
-
REDIS_PREFIX string
|
10
|
-
REDIS_URL string `default:"redis://localhost:6379"`
|
11
|
-
}
|
data/betterlog/healthz.go
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
package betterlog
|
2
|
-
|
3
|
-
import (
|
4
|
-
"fmt"
|
5
|
-
"log"
|
6
|
-
"net/http"
|
7
|
-
"os"
|
8
|
-
|
9
|
-
"github.com/labstack/echo/v4"
|
10
|
-
)
|
11
|
-
|
12
|
-
type Health struct {
|
13
|
-
PORT int
|
14
|
-
}
|
15
|
-
|
16
|
-
type Response struct {
|
17
|
-
Hostname string `json:"hostname"`
|
18
|
-
Healthy bool `json:"healthy"`
|
19
|
-
Error string `json:"error,omitempty"`
|
20
|
-
Message string `json:"message,omitempty"`
|
21
|
-
}
|
22
|
-
|
23
|
-
func determineHostname() string {
|
24
|
-
hostname, err := os.Hostname()
|
25
|
-
if err != nil {
|
26
|
-
hostname = "unknown"
|
27
|
-
}
|
28
|
-
return hostname
|
29
|
-
}
|
30
|
-
|
31
|
-
func (health Health) Check() error {
|
32
|
-
return nil
|
33
|
-
}
|
34
|
-
|
35
|
-
func (health Health) ZPage(next echo.HandlerFunc) echo.HandlerFunc {
|
36
|
-
hostname := determineHostname()
|
37
|
-
return func(c echo.Context) error {
|
38
|
-
if c.Path() == "/healthz" {
|
39
|
-
if err := health.Check(); err == nil {
|
40
|
-
return c.JSON(
|
41
|
-
http.StatusOK,
|
42
|
-
Response{
|
43
|
-
Hostname: hostname,
|
44
|
-
Healthy: true,
|
45
|
-
},
|
46
|
-
)
|
47
|
-
} else {
|
48
|
-
log.Printf("error: %v", err)
|
49
|
-
return c.JSON(
|
50
|
-
http.StatusInternalServerError,
|
51
|
-
Response{
|
52
|
-
Hostname: hostname,
|
53
|
-
Healthy: false,
|
54
|
-
Error: err.Error(),
|
55
|
-
Message: "problem detected",
|
56
|
-
},
|
57
|
-
)
|
58
|
-
}
|
59
|
-
} else {
|
60
|
-
return next(c)
|
61
|
-
}
|
62
|
-
}
|
63
|
-
}
|
64
|
-
|
65
|
-
func StartHealthzEcho(health Health) {
|
66
|
-
e := echo.New()
|
67
|
-
|
68
|
-
e.Use(health.ZPage)
|
69
|
-
log.Printf("Starting :%d/healthz", health.PORT)
|
70
|
-
e.Logger.Fatal(e.Start(fmt.Sprintf(":%d", health.PORT)))
|
71
|
-
}
|