/

Project Token Configuration

The project token connects your application to the ByteHide cloud platform. With a token, logs are automatically sent to the cloud. Without it, logs are only stored locally.

Setting the Project Token

Configure your project token using the setProjectToken method:

import { Log } from '@bytehide/logger';

// Set your project token
Log.setProjectToken('your-project-token-here');

Obtaining Your Project Token

To get your project token, you first need to create a Logs project in the ByteHide dashboard.

Create Logs Project

If you haven't created a Logs project yet, follow our step-by-step guide: Create a Logs project

Once your project is created:

  1. Navigate to your Logs project dashboard
  2. Copy your project token from the project settings
  3. Use the token in your application configuration

Environment-Based Configuration

Using Environment Variables

// Get token from environment variable
const projectToken = process.env.BYTEHIDE_PROJECT_TOKEN;
Log.setProjectToken(projectToken);

Package.json Scripts

{
  "scripts": {
    "start": "BYTEHIDE_PROJECT_TOKEN=your-token node app.js",
    "start:prod": "BYTEHIDE_PROJECT_TOKEN=prod-token node app.js"
  }
}

Node.js Configuration

import { Log } from '@bytehide/logger';

// Configure logger first
Log.configure({
    minimumLevel: 'info',
    consoleEnabled: true
});

// Set token from environment
Log.setProjectToken(process.env.BYTEHIDE_PROJECT_TOKEN);

Browser Configuration

// In browser applications, avoid hardcoding tokens
// Use environment variables during build process
Log.setProjectToken(import.meta.env.VITE_BYTEHIDE_PROJECT_TOKEN);

Token Behavior

ScenarioBehavior
Token SetLogs sent to ByteHide cloud + local files (if enabled)
No TokenLogs only stored locally (console/files)
Invalid TokenLogs fallback to local storage only

Security Best Practices

Token Security

Never hardcode tokens in your source code. For maximum security, consider using ByteHide Secrets to manage your project tokens and other sensitive configuration.

Use ByteHide Secrets to securely manage your project tokens:

import { SecretsManager } from '@bytehide/secrets';

// Use ByteHide Secrets to retrieve your project token
const projectToken = await SecretsManager.get('BYTEHIDE_PROJECT_TOKEN');
Log.setProjectToken(projectToken);

ByteHide Secrets Integration

ByteHide Secrets provides enterprise-grade secret management. Learn more: ByteHide Secrets for JavaScript

Option 2: Environment Variables

// ❌ Don't do this
Log.setProjectToken('bh_1234567890abcdef');

// ✅ Do this instead
Log.setProjectToken(process.env.BYTEHIDE_PROJECT_TOKEN);

Framework Integration

Express.js

import express from 'express';
import { Log } from '@bytehide/logger';

const app = express();

Log.configure({
    minimumLevel: 'info',
    persist: true
});

Log.setProjectToken(process.env.BYTEHIDE_PROJECT_TOKEN);

app.listen(3000, () => {
    Log.info('Server started', { metadata: { port: 3000 } });
});

React (Vite)

// vite.config.js
export default {
    define: {
        'process.env.BYTEHIDE_PROJECT_TOKEN': JSON.stringify(process.env.BYTEHIDE_PROJECT_TOKEN)
    }
};

Next.js

// next.config.js
module.exports = {
    env: {
        BYTEHIDE_PROJECT_TOKEN: process.env.BYTEHIDE_PROJECT_TOKEN,
    }
};

Validation

Check if your token is working:

Log.setProjectToken('your-token');
Log.info('Test log message');

// Check ByteHide dashboard to confirm logs are received
Previous
Quick Start