react-relog
v1.0.0
Published
Lightweight React logger hook for environment-based logging control
Maintainers
Readme
🪶 react-relog
Lightweight, environment-aware React logger hook and provider — less than 1KB.
✨ Features
- 🪶 Tiny — under 1KB gzipped
- 🌎 Environment-aware logging (different log levels per env)
- ⚙️ Zero-dependency React hook + context provider
- 🧩 Drop-in replacement for
console.* - 🚀 Works with Vite, CRA, Next.js, or any React app
📦 Installation
npm install react-relog
# or
yarn add react-relog🧠 Usage
Wrap your app with the RelogProvider and use the useRelog hook anywhere:
import { RelogProvider, useRelog } from 'react-relog';
function App() {
return (
<RelogProvider
config={{
enabled: true,
env: import.meta.env.MODE, // or "development", "production", etc.
levels: {
development: ['log', 'warn', 'error'],
test: ['log', 'warn', 'error'],
production: ['error']
}
}}
>
<TestComponent />
</RelogProvider>
);
}
const TestComponent = () => {
const log = useRelog(); // same API as console
log.error('Error message');
log.log('Regular log');
log.warn('Warning');
return <>Logger Test</>;
};✅ In production, only allowed levels will print.
✅ In development, all logs appear.
⚙️ Configuration Options
| Key | Type | Description |
|-----|------|--------------|
| enabled | boolean | Enables or disables logging entirely |
| env | string | Current environment (development, test, production, etc.) |
| levels | Record<string, string[]> | Log levels allowed per environment (log, warn, error) |
📁 Example Configuration
<RelogProvider
config={{
enabled: import.meta.env.MODE !== 'production',
env: import.meta.env.MODE,
levels: {
development: ['log', 'warn', 'error'],
production: ['error']
}
}}
>
<App />
</RelogProvider>💡 Why react-relog?
- Simplifies log control across environments.
- Keeps your production console clean.
- Lets you toggle verbosity per environment.
- No heavy dependencies — <1KB total!
🧱 API Reference
interface RelogConfig {
enabled: boolean;
env: string;
levels: Record<string, ('log' | 'warn' | 'error')[]>;
}
function useRelog(): Pick<Console, 'log' | 'warn' | 'error'>;📜 License
MIT © Lavi Kumar Gupta
