Client-side JavaScript logging library