2016-07-26 14 views
0

最近AngularJSを使用するアプリケーションの開発を開始しました。最初は多少単純だったような1つのタスクはかなり頭痛になっています。AngularJSのログを有効にする

JSコードにはconsole.log()がたくさんあります。私はAngularの$ logを使用してそれらを置き換えます。私はそれがかなり簡単だろうと思ったが、そうではない、おそらく私は最初にAngularに精通していないからだ。

特に、$ log、$ logProvider、$ serviceの各ページを読みました。私はコードに与えられた例を無用に適用しようとしました。

私はアプリコードから理解しているところから(私はちょうどそれに取り組み始めました)、設定に専念する「メイン」モジュールを使用します。それは次のようになります。

var mainApp = angular.module('mainApp' 
['ui.router','datatables','ngMockE2E', 'ngResource','angularSpinner', 'ngCookies', 
'pascalprecht.translate','ui.bootstrap', 'ngFileUpload', 'angular-jwt']); 

mainApp.config(function($stateProvider, $urlRouterProvider, $httpProvider, $translateProvider) { 

// Example of what we can find here 
$translateProvider.useStaticFilesLoader(fileNameConvention); 
$translateProvider.useSanitizeValueStrategy('escaped'); 

}; 

このような我々は(またはほとんどすべて)mainAppですが参照されているコントローラにリンクされている各HTMLファイル、:

mainApp.controller('ContractsController', ContractsController); 

私が理解したものから、各コントローラのログインを避けるため、mainAppに注入する必要があります。問題は、私はいくつかの方法を試してみました。どれも動作していませんでした(実際には、コントローラで$ logを直接使用しようとしましたが、どちらも動作しませんでした)。

誰かが私を正しい方向に向けるほど親切であれば、本当に感謝しています。

答えて

1

コントローラ内に$ logを注入すると効果があります。あなたはこれを見ましたか?example

angular.module('app', []) 

.controller('MainCtrl', ['$log', function($log){ 
    $log.debug('Hello Debug!'); 
}]); 
+0

私はこれを動作させました!私はモジュールを作成し、それを私のmainAppに追加する必要があると思っていました...すべてのコントローラでこのコードを繰り返さないようにするには、どうにかする必要があります。 –

関連する問題