OneKey analytics and server event tracking with LogToServer, logger scopes/scenes, and business metrics. Use for 埋点, analytics, or tracking events.
74
93%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
OneKey uses a decorator-based logger system to track user behavior events. Events are routed to the analytics server (Mixpanel) via @LogToServer() decorator on scene methods. NEVER call analytics.trackEvent() directly.
| Topic | Guide | Key Files |
|---|---|---|
| Adding events | adding-events.md | packages/shared/src/logger/scopes/ |
| Architecture | architecture.md | packages/shared/src/logger/base/ |
| Common pitfalls | pitfalls.md | — |
@LogToServer() decorator — never call analytics.trackEvent() directly// packages/shared/src/logger/scopes/{scope}/scenes/{scene}.ts
import { BaseScene } from '../../../base/baseScene';
import { LogToServer } from '../../../base/decorators';
export class MyScene extends BaseScene {
@LogToServer()
public myEventName(params: { key: string; value: string }) {
return params;
}
}// packages/shared/src/logger/scopes/{scope}/index.ts
import { MyScene } from './scenes/myScene';
export class MyScope extends BaseScope {
protected override scopeName = EScopeName.myScope;
myScene = this.createScene('myScene', MyScene);
}import { defaultLogger } from '@onekeyhq/shared/src/logger/logger';
defaultLogger.myScope.myScene.myEventName({ key: 'foo', value: 'bar' });| Decorator | Destination | Use Case |
|---|---|---|
@LogToServer() | Mixpanel analytics server | User behavior tracking, business metrics |
@LogToLocal() | Device local log (React Native logger) | Debugging, device-side diagnostics |
@LogToConsole() | Console only | Dev-time debugging |
Stack decorators for dual logging: @LogToServer() + @LogToLocal().
/1k-architecture — Import hierarchy rules (logger is in @onekeyhq/shared)/1k-coding-patterns — TypeScript and React conventionsd71e6b7
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.