-
Notifications
You must be signed in to change notification settings - Fork 68
Description
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.
- Have a view for a custom log storage
- 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!