angle2用のリモートロガーを作成しましたが正常に動作します。私は今、独自のnpmライブラリとして公開し、利用可能にするのに苦労しています。私はngx-translateモジュールの設定に慣れてきました。私はそうのようにそれ自身のモジュールにこのアプローチを適応しようとしたangular2モジュールのビルドとパブリッシュ
import {
LOG4NG_SERVICE_HANDLER_PROVIDERS,
LOG4NG_SERVICE_CONFIG,
LOG4NG_ERROR_HANDLER_PROVIDERS,
LOG4NG_ERROR_HANDLER_CONFIG } from './log4ng.service';
import * as message from './log4ng.service/message';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [
LOG4NG_SERVICE_HANDLER_PROVIDERS,
{
provide: LOG4NG_SERVICE_CONFIG,
useValue: {
recipients: [
{
classname: 'ConsoleWriter',
params: {
name: 'Angular2 Test App::Console Logger'
}
}
],
filters: [ /** filter definition **/ ]
}
},
LOG4NG_ERROR_HANDLER_PROVIDERS,
{
provide: LOG4NG_ERROR_HANDLER_CONFIG,
useValue: {
rethrowError: false,
unwrapError: false
}
}
],
bootstrap: [AppComponent]
})
export class AppModule { }
:
import { NgModule, ModuleWithProviders } from '@angular/core';
import { CommonModule } from '@angular/common';
import {
Log4ngService,
ILog4ngServiceConfig,
LOG4NG_SERVICE_CONFIG,
LOG4NG_SERVICE_HANDLER_PROVIDERS,
ErrorHandlerLoggingService,
LOG4NG_ERROR_HANDLER_CONFIG,
LOG4NG_ERROR_HANDLER_PROVIDERS
} from './src';
export * from './src';
@NgModule({
imports: [
CommonModule
],
providers: [
Log4ngService,
ErrorHandlerLoggingService
]
})
export class Log4ngModule {
static forRoot(config: ILog4ngServiceConfig = LOG4NG_SERVICE_CONFIG): ModuleWithProviders {
return {
ngModule: Log4ngModule,
providers: LOG4NG_SERVICE_HANDLER_PROVIDERS
};
}
static forChild(config: ILog4ngServiceConfig = LOG4NG_SERVICE_CONFIG): ModuleWithProviders {
return {
ngModule: Log4ngModule,
providers: LOG4NG_SERVICE_HANDLER_PROVIDERS
};
}
}
私は内部的に使用していますロガーの一般的なセットアップはBen Nadel's Custom Error Handler Postで説明したものと類似しています
私はこのモジュールを使用するデモアプリケーションを作成し、npm link
を使用してlibaryをローカルで使用しました。私は理解していない
Error: Can't resolve all parameters for Log4ngService: (?)
が、私の理解のためにあるため、必要なすべてのDIトークンが正しく設定されている:それは完全に構築しながらデモアプリケーションでそれを使用しようとすると、私はランタイムエラーを取得します。
あなたはこののgitリポジトリのDEV-ブランチにコードを見つけることができます。https://github.com/LarsKumbier/log4ng/tree/dev
すべてのヘルプやヒント感謝 - 事前に感謝を!
のように工場を使用することができますか? –
ええ、それらはngx-translateの残り物であり、問題の解決にいくつか試みます。それらを削除する必要があります。 – Lars