Skip to content

Commit 8a5cb86

Browse files
authored
feat: add adhoc debug logger package (#1669)
* feat: initial creation of cloud-common and the adhoc debug logger * feat: rename package, update with recent spec changes and tests * feat: allow for the backend to be swapped out, and other code tightening * samples: add in beginnings of samples * feat: replace Node backend, several bug fixes * docs: add disclaimer about internal usage * tests: add a test for log event taps * chore: rename logging package * chore: rename again, because incorrect name * feat: add sub-log creation support * build: update versions to push to npm again * build: utils, not adhoc tools * fix: drop to a single envvar and allow 'all' * fix: finish removing debug package dependency * build: bump package version for 'next' * chore: update copyright in header * build: remove node module prefixes for now * tests: add a sample test for the quickstart, for basic functionality * samples: disable automatic finding of snippets for now * chore: various code review updates
1 parent bdfef64 commit 8a5cb86

25 files changed

+1716
-2
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
build
3+
protos

.release-please-manifest.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"gax": "4.5.0",
3-
"tools": "0.4.6"
3+
"tools": "0.4.6",
4+
"logging-utils": "0.0.0"
45
}

logging-utils/.eslintignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
**/node_modules
2+
**/coverage
3+
test/fixtures
4+
build/
5+
docs/
6+
protos/
7+
samples/generated/

logging-utils/.eslintrc.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"extends": "./node_modules/gts",
3+
"root": true
4+
}

logging-utils/.gitignore

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
coverage
2+
npm-debug.log
3+
**/*.log
4+
**/node_modules
5+
.coverage
6+
.nyc_output
7+
docs/
8+
protos/google/
9+
out/
10+
system-test/secrets.js
11+
system-test/*key.json
12+
build
13+
.vscode
14+
package-lock.json
15+
.system-test-run/
16+
.kitchen-sink/
17+
.showcase-server-dir/
18+
.compileProtos-test/
19+
.minify-test/
20+
__pycache__
21+
doc/
22+
dist/
23+
*.tgz
24+
**/*.tgz

logging-utils/.prettierignore

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
**/node_modules
2+
**/coverage
3+
test/fixtures
4+
build/
5+
docs/
6+
protos/

logging-utils/.prettierrc.js

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// https://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
module.exports = {
16+
...require('gts/.prettierrc.json')
17+
}

logging-utils/CHANGELOG.md

Whitespace-only changes.

logging-utils/CODE_OF_CONDUCT.md

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
<!-- # Generated by synthtool. DO NOT EDIT! !-->
2+
# Code of Conduct
3+
4+
## Our Pledge
5+
6+
In the interest of fostering an open and welcoming environment, we as
7+
contributors and maintainers pledge to making participation in our project and
8+
our community a harassment-free experience for everyone, regardless of age, body
9+
size, disability, ethnicity, gender identity and expression, level of
10+
experience, education, socio-economic status, nationality, personal appearance,
11+
race, religion, or sexual identity and orientation.
12+
13+
## Our Standards
14+
15+
Examples of behavior that contributes to creating a positive environment
16+
include:
17+
18+
* Using welcoming and inclusive language
19+
* Being respectful of differing viewpoints and experiences
20+
* Gracefully accepting constructive criticism
21+
* Focusing on what is best for the community
22+
* Showing empathy towards other community members
23+
24+
Examples of unacceptable behavior by participants include:
25+
26+
* The use of sexualized language or imagery and unwelcome sexual attention or
27+
advances
28+
* Trolling, insulting/derogatory comments, and personal or political attacks
29+
* Public or private harassment
30+
* Publishing others' private information, such as a physical or electronic
31+
address, without explicit permission
32+
* Other conduct which could reasonably be considered inappropriate in a
33+
professional setting
34+
35+
## Our Responsibilities
36+
37+
Project maintainers are responsible for clarifying the standards of acceptable
38+
behavior and are expected to take appropriate and fair corrective action in
39+
response to any instances of unacceptable behavior.
40+
41+
Project maintainers have the right and responsibility to remove, edit, or reject
42+
comments, commits, code, wiki edits, issues, and other contributions that are
43+
not aligned to this Code of Conduct, or to ban temporarily or permanently any
44+
contributor for other behaviors that they deem inappropriate, threatening,
45+
offensive, or harmful.
46+
47+
## Scope
48+
49+
This Code of Conduct applies both within project spaces and in public spaces
50+
when an individual is representing the project or its community. Examples of
51+
representing a project or community include using an official project e-mail
52+
address, posting via an official social media account, or acting as an appointed
53+
representative at an online or offline event. Representation of a project may be
54+
further defined and clarified by project maintainers.
55+
56+
This Code of Conduct also applies outside the project spaces when the Project
57+
Steward has a reasonable belief that an individual's behavior may have a
58+
negative impact on the project or its community.
59+
60+
## Conflict Resolution
61+
62+
We do not believe that all conflict is bad; healthy debate and disagreement
63+
often yield positive results. However, it is never okay to be disrespectful or
64+
to engage in behavior that violates the project’s code of conduct.
65+
66+
If you see someone violating the code of conduct, you are encouraged to address
67+
the behavior directly with those involved. Many issues can be resolved quickly
68+
and easily, and this gives people more control over the outcome of their
69+
dispute. If you are unable to resolve the matter for any reason, or if the
70+
behavior is threatening or harassing, report it. We are dedicated to providing
71+
an environment where participants feel welcome and safe.
72+
73+
Reports should be directed to *[email protected]*, the
74+
Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to
75+
receive and address reported violations of the code of conduct. They will then
76+
work with a committee consisting of representatives from the Open Source
77+
Programs Office and the Google Open Source Strategy team. If for any reason you
78+
are uncomfortable reaching out to the Project Steward, please email
79+
80+
81+
We will investigate every complaint, but you may not receive a direct response.
82+
We will use our discretion in determining when and how to follow up on reported
83+
incidents, which may range from not taking action to permanent expulsion from
84+
the project and project-sponsored spaces. We will notify the accused of the
85+
report and provide them an opportunity to discuss it before any action is taken.
86+
The identity of the reporter will be omitted from the details of the report
87+
supplied to the accused. In potentially harmful situations, such as ongoing
88+
harassment or threats to anyone's safety, we may take action without notice.
89+
90+
## Attribution
91+
92+
This Code of Conduct is adapted from the Contributor Covenant, version 1.4,
93+
available at
94+
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

logging-utils/CONTRIBUTING.md

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# How to become a contributor and submit your own code
2+
3+
**Table of contents**
4+
5+
* [Contributor License Agreements](#contributor-license-agreements)
6+
* [Contributing a patch](#contributing-a-patch)
7+
* [Running the tests](#running-the-tests)
8+
* [Releasing the library](#releasing-the-library)
9+
10+
## Contributor License Agreements
11+
12+
We'd love to accept your sample apps and patches! Before we can take them, we
13+
have to jump a couple of legal hurdles.
14+
15+
Please fill out either the individual or corporate Contributor License Agreement
16+
(CLA).
17+
18+
* If you are an individual writing original source code and you're sure you
19+
own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
20+
* If you work for a company that wants to allow you to contribute your work,
21+
then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
22+
23+
Follow either of the two links above to access the appropriate CLA and
24+
instructions for how to sign and return it. Once we receive it, we'll be able to
25+
accept your pull requests.
26+
27+
## Contributing A Patch
28+
29+
1. Submit an issue describing your proposed change to the repo in question.
30+
1. The repo owner will respond to your issue promptly.
31+
1. If your proposed change is accepted, and you haven't already done so, sign a
32+
Contributor License Agreement (see details above).
33+
1. Fork the desired repo, develop and test your code changes.
34+
1. Ensure that your code adheres to the existing style in the code to which
35+
you are contributing.
36+
1. Ensure that your code has an appropriate set of tests which all pass.
37+
1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
38+
1. Submit a pull request.
39+
40+
### Before you begin
41+
42+
1. [Select or create a Cloud Platform project][projects].
43+
1. [Set up authentication with a service account][auth] so you can access the
44+
API from your local workstation.
45+
46+
47+
## Running the tests
48+
49+
1. [Prepare your environment for Node.js setup][setup].
50+
51+
1. Install dependencies:
52+
53+
npm install
54+
55+
1. Run the tests:
56+
57+
# Run unit tests.
58+
npm test
59+
60+
# Run sample integration tests.
61+
npm run samples-test
62+
63+
# Run all system tests.
64+
npm run system-test
65+
66+
1. Lint (and maybe fix) any changes:
67+
68+
npm run fix
69+
70+
[setup]: https://cloud.google.com/nodejs/docs/setup
71+
[projects]: https://console.cloud.google.com/project
72+
[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
73+
74+
[auth]: https://cloud.google.com/docs/authentication/getting-started

0 commit comments

Comments
 (0)