-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
10 changed files
with
372 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
## Logging Samples | ||
|
||
These samples require two environment variables to be set: | ||
|
||
- `GOOGLE_APPLICATION_CREDENTIALS` - Path to a service account file. You can | ||
download one from your Google project's "permissions" page. | ||
- `TEST_PROJECT_ID` - Id of your Google project. | ||
|
||
## Run a sample | ||
|
||
Install dependencies: | ||
|
||
npm install | ||
|
||
To print available commands: | ||
|
||
npm run | ||
|
||
Execute a sample: | ||
|
||
npm run <sample> | ||
|
||
Example: | ||
|
||
npm run write |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
// Copyright 2016, Google, Inc. | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
'use strict'; | ||
|
||
// [START setup] | ||
var projectId = process.env.TEST_PROJECT_ID; | ||
var keyFilename = process.env.GOOGLE_APPLICATION_CREDENTIALS; | ||
|
||
projectId = projectId || '<your-project-id>'; | ||
keyFilename = keyFilename || '/path/to/keyfile.json'; | ||
|
||
var gcloud = require('gcloud')({ | ||
projectId: projectId, | ||
keyFilename: keyFilename | ||
}); | ||
|
||
var logging = gcloud.logging(); | ||
// [END setup] | ||
|
||
// [START listSinks] | ||
function listSinks(callback) { | ||
// list all sinks in the project | ||
logging.getSinks(callback); | ||
} | ||
// [END listSinks] | ||
|
||
// [START createSink] | ||
function createSink(callback) { | ||
var gcs = gcloud.storage(); | ||
|
||
// create a new sink | ||
// | ||
// This method only works if you are authenticated as yourself, e.g. using the | ||
// gcloud SDK. | ||
logging.createSink('mySink', { | ||
destination: gcs.bucket('logging-bucket') | ||
}, callback); | ||
} | ||
// [END createSink] | ||
|
||
// [START updateSink] | ||
function updateSink(callback) { | ||
var gcs = gcloud.storage(); | ||
var sink = logging.sink('mySink'); | ||
|
||
// update a sink | ||
// | ||
// This method only works if you are authenticated as yourself, e.g. using the | ||
// gcloud SDK. | ||
sink.setMetadata({ | ||
// change destination to something else | ||
destination: gcs.bucket('other-logging-bucket') | ||
}, callback); | ||
} | ||
// [END updateSink] | ||
|
||
// [START deleteSink] | ||
function deleteSink(callback) { | ||
var sink = logging.sink('mySink'); | ||
|
||
// delete a sink | ||
// | ||
// This method only works if you are authenticated as yourself, e.g. using the | ||
// gcloud SDK. | ||
sink.delete(callback); | ||
} | ||
// [END deleteSink] | ||
|
||
exports.listSinks = listSinks; | ||
exports.createSink = createSink; | ||
exports.updateSink = updateSink; | ||
exports.deleteSink = deleteSink; | ||
|
||
if (module === require.main) { | ||
listSinks(function (err, sinks, apiResponse) { | ||
console.log(err, 'sinks:', sinks, 'apiResponse:', apiResponse); | ||
if (err) { | ||
return; | ||
} | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
// Copyright 2016, Google, Inc. | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
'use strict'; | ||
|
||
// [START list] | ||
// [START auth] | ||
var projectId = process.env.TEST_PROJECT_ID; | ||
var keyFilename = process.env.GOOGLE_APPLICATION_CREDENTIALS; | ||
|
||
projectId = projectId || '<your-project-id>'; | ||
keyFilename = keyFilename || '/path/to/keyfile.json'; | ||
|
||
// [START require] | ||
var gcloud = require('gcloud')({ | ||
projectId: projectId, | ||
keyFilename: keyFilename | ||
}); | ||
// [END require] | ||
// [END auth] | ||
|
||
var logging = gcloud.logging(); | ||
|
||
function list(callback) { | ||
// Retrieve 3 log entries. | ||
logging.getEntries({ | ||
pageSize: 3 | ||
}, callback); | ||
} | ||
// [END list] | ||
|
||
exports.list = list; | ||
|
||
if (module === require.main) { | ||
list(function (err, apiResponse) { | ||
console.log(err, 'apiResponse:', apiResponse); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
{ | ||
"name": "nodejs-docs-samples-logging", | ||
"description": "Node.js samples for Google Cloud Logging.", | ||
"version": "0.0.1", | ||
"private": true, | ||
"license": "Apache Version 2.0", | ||
"scripts": { | ||
"list": "node list.js", | ||
"write": "node write.js", | ||
"export": "node export.js" | ||
}, | ||
"dependencies": { | ||
"gcloud": "^0.27.0" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
// Copyright 2016, Google, Inc. | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
/* jshint camelcase:false */ | ||
'use strict'; | ||
|
||
// [START write] | ||
// [START setup] | ||
var projectId = process.env.TEST_PROJECT_ID; | ||
var keyFilename = process.env.GOOGLE_APPLICATION_CREDENTIALS; | ||
|
||
projectId = projectId || '<your-project-id>'; | ||
keyFilename = keyFilename || '/path/to/keyfile.json'; | ||
|
||
var gcloud = require('gcloud')({ | ||
projectId: projectId, | ||
keyFilename: keyFilename | ||
}); | ||
|
||
var logging = gcloud.logging(); | ||
// [END setup] | ||
|
||
function write(callback) { | ||
var log = logging.log('myLog'); | ||
|
||
// Modify this resource type to match a resource in your project | ||
// See https://cloud.google.com/logging/docs/api/ref_v2beta1/rest \ | ||
// /v2beta1/monitoredResourceDescriptors/list | ||
var resource = { | ||
type: 'gae_app', | ||
labels: { | ||
module_id: 'default', | ||
version_id: 'express' | ||
} | ||
}; | ||
|
||
var entry = log.entry(resource, { | ||
foo: 'bar' | ||
}); | ||
|
||
var secondEntry = log.entry(resource, { | ||
beep: 'boop' | ||
}); | ||
|
||
// You can log multiple entries one at a a time, but it is best to write | ||
// multiple entires together in a batch. | ||
log.write([ | ||
entry, | ||
secondEntry | ||
], callback); | ||
} | ||
// [END write] | ||
|
||
// [START deleteLog] | ||
function deleteLog(callback) { | ||
var log = logging.log('myLog'); | ||
|
||
// Delete the logs | ||
log.delete(callback); | ||
} | ||
// [END deleteLog] | ||
|
||
exports.write = write; | ||
exports.deleteLog = deleteLog; | ||
|
||
if (module === require.main) { | ||
write(function (err, apiResponse) { | ||
console.log(err, 'apiResponse:', apiResponse); | ||
if (err) { | ||
return; | ||
} | ||
deleteLog(function (err, apiResponse) { | ||
console.log(err, 'apiResponse:', apiResponse); | ||
}); | ||
}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
// Copyright 2016, Google, Inc. | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
'use strict'; | ||
|
||
var assert = require('assert'); | ||
|
||
var logging = require('../../logging/export'); | ||
|
||
describe('logging/export', function () { | ||
it('should list sinks', function (done) { | ||
logging.listSinks(function (err, sinks) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.ok(Array.isArray(sinks), 'should be an array'); | ||
done(); | ||
}); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
// Copyright 2016, Google, Inc. | ||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||
// you may not use this file except in compliance with the License. | ||
// You may obtain a copy of the License at | ||
// | ||
// http://www.apache.org/licenses/LICENSE-2.0 | ||
// | ||
// Unless required by applicable law or agreed to in writing, software | ||
// distributed under the License is distributed on an "AS IS" BASIS, | ||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
// See the License for the specific language governing permissions and | ||
// limitations under the License. | ||
|
||
'use strict'; | ||
|
||
var assert = require('assert'); | ||
|
||
var logging = require('../../logging/list'); | ||
|
||
describe('logging/list', function () { | ||
it('should list entries', function (done) { | ||
logging.list(function (err, entries) { | ||
if (err) { | ||
return done(err); | ||
} | ||
assert.ok(Array.isArray(entries), 'should have got an array'); | ||
assert.equal(entries.length, 3, 'should have three entries'); | ||
done(); | ||
}); | ||
}); | ||
}); |
Oops, something went wrong.