Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected behaviur when trying to extract logs from log storage #1552

Open
carlosbloqhouse opened this issue Dec 23, 2024 · 1 comment · May be fixed by #1553
Open

Unexpected behaviur when trying to extract logs from log storage #1552

carlosbloqhouse opened this issue Dec 23, 2024 · 1 comment · May be fixed by #1553
Assignees
Labels
api: logging Issues related to the googleapis/nodejs-logging API. priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.

Comments

@carlosbloqhouse
Copy link

carlosbloqhouse commented Dec 23, 2024

Environment details

  • OS: Linux
  • Node.js version: v20.9.0
  • npm version: 10.1.0
  • @google-cloud/logging version:11.2.0

Steps to reproduce

In this issue i specify the line of codes that need to be modified to fix the issue.

  1. Have a view for a custom log storage
  2. Try to access it with getEntries or getEntriesStream, example of code snippet doing it:
const PROJECT_ID = 'exampleProjectId'; 
 const LOCATION = 'global';
const BUCKET_NAME = 'exampleBucketName';
const VIEW_NAME = '_AllLogs';

const logView = `projects/${PROJECT_ID}/locations/${LOCATION}/buckets/${BUCKET_NAME}/views/${VIEW_NAME}`;

console.log(`Searching log entries in bucket: ${LOG_BUCKET_NAME}`);

// Retrieve entries in pages
logging.getEntriesStream({
  maxResults: 10,
  filter: FILTER,
  resourceNames: [logView],
}).on('data', (data) => {
  console.log(data);
});
}

This scripts returns entries both for the project logs, and the current project. This is unexpected behavior, as expected behavior would be only to return logs specified by the call to getEntriesStream(). This makes it so you cant access only the logs for a concrete view without a lot of noise from the default bucket. In the code, we can see that the project default bucket is added to the query without your input, regardless you want it or not. It should be conditional, if resourceNames is provided, do not add the the default logs.

Error in getEntries:
https://github.com/googleapis/nodejs-logging/blob/9d1d480406c4d1526c8a7fafd9b18379c0c7fcea/src/index.ts#L593C18-L598C6

Error in getEntriesStream:
https://github.com/googleapis/nodejs-logging/blob/9d1d480406c4d1526c8a7fafd9b18379c0c7fcea/src/index.ts#L694C2-L695C66

Thanks!

@carlosbloqhouse carlosbloqhouse added priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Dec 23, 2024
@product-auto-label product-auto-label bot added the api: logging Issues related to the googleapis/nodejs-logging API. label Dec 23, 2024
@carlosbloqhouse
Copy link
Author

carlosbloqhouse commented Dec 23, 2024

Ive realised there is another pr that tackles this issue, although it doesnt fully tackle it as only solves one of the 2 functions, and i think that solution probably doesnt work:

#1482

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: logging Issues related to the googleapis/nodejs-logging API. priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants