Logging Functions
- Type:
Function(...args: any[]) => void
- Description: Logging functions for different severity levels
- Global: Yes (available directly as
dbg()
,info()
, etc.) - API Methods:
api.dbg()
,api.info()
, etc.
Available Functions
dbg()
- Debug-level logging (only visible in--dev
mode)info()
- Informational messageswarn()
- Warning messageserror()
- Error messages
Basic Usage
/** @type {import('pocketpages').PageDataLoaderFunc} */
module.exports = function (api) {
// Using API methods
api.dbg('Debug:', { someData: 123 })
api.info('Processing request...')
// Using global functions
warn('Deprecated feature used')
error('Failed to load data:', error)
return {
/* ... */
}
}
Template Usage
<!-- Debug output -->
<% dbg('Rendering template with:', data) %>
<!-- Info message -->
<% info('User viewed page') %>
<!-- Warning -->
<% warn('Using fallback data') %>
<!-- Error -->
<% error('Template error:', e) %>
Development vs Production
Development Mode
// Visible in console with --dev flag
dbg('Debug message') // Shows in console
info('Info message') // Shows in console
warn('Warning') // Shows in console
error('Error') // Shows in console
Production Mode
dbg('Debug message') // Hidden
info('Info message') // Shows in console
warn('Warning') // Shows in console
error('Error') // Shows in console
Best Practices
Use Appropriate Levels
// Good: Correct severity levels dbg('Processing data...') // Development details info('User logged in') // Normal operations warn('Cache miss') // Potential issues error('Database failed') // Actual problems // Bad: Wrong severity error('Processing data...') // Should be dbg dbg('Database failed') // Should be error
Structured Data
// Good: Structured logging dbg('User action', { userId: 123, action: 'login', timestamp: Date.now(), }) // Avoid: Hard to parse dbg('User 123 logged in at', Date.now())
Development Helpers
// Good: Helpful debug info dbg('Route params:', params) dbg('Form data:', formData) dbg('Query result:', result)
Important Notes
dbg()
only shows in development- All functions accept multiple arguments
- Objects are automatically stringified
- Logs appear in PocketBase console
- Use for debugging and monitoring