Angular에서 $log.debug를 설정/해제하는 방법JS
$log.debug("Foo")를 사용하려고 합니다.어떻게 끄지?어디에서도 샘플을 찾을 수 없습니다.설정으로 설정할 필요가 있다고 생각합니다만, 이것도 동작하지 않는 것 같습니다.
온/오프 스위치는 어디에 설정합니까?
$logProvider.debugEnabled(true)
이는 AngularJs 1.1.2 이상에서만 사용할 수 있습니다.
https://github.com/angular/angular.js/pull/1625
설정 예를 다음에 나타냅니다.
var app = angular.module('plunker', []);
app.config(function($logProvider){
$logProvider.debugEnabled(true);
});
app.controller('MainCtrl', function($scope, $log ) {
$scope.name = 'World';
$scope.model = {value: "test"};
$log.debug('TEST Log');
});
http://plnkr.co/edit/HZCAoS?p=preview
기본적으로는 켜져 있습니다.
기본 $log 동작을 데코레이터로 덮어쓰고 로그 수준을 높일 수 있습니다.다음은 예를 제시하겠습니다.
angular.module('app').config(function($logProvider, $provide){
$logProvider.debugEnabled(false);
$provide.decorator('$log', function ($delegate) {
//Original methods
var origInfo = $delegate.info;
var origLog = $delegate.log;
//Override the default behavior
$delegate.info = function () {
if ($logProvider.debugEnabled())
origInfo.apply(null, arguments)
};
//Override the default behavior
$delegate.log = function () {
if ($logProvider.debugEnabled())
origLog.apply(null, arguments)
};
return $delegate;
});
});
이는 http://www.thekuroko.com/using-angulars-log-provider/의 John Crossby의 연구에서 영감을 얻었습니다.
같은 문제에 직면했지만 코딩으로 해결할 문제가 아니라 브라우저 콘솔에서 활성화하면 됩니다.
브라우저 콘솔로 이동하여 레벨을 상세하게 설정합니다.
글쎄요, 이 솔루션에서는Verbose
플래그, 각도 로그인을 처리하는 가장 좋은 방법은 단순히 네이티브를 변경하는 것입니다.console.log
운영 환경에서 전체 애플리케이션에 대해 기능을 수행합니다.
angular.module("myModule")
.config(function(){
//if production environment
console.log = ()=>{};
})
바로 그겁니다.실가동 환경에서는, 모든 장소에서 로그가 무효가 됩니다.또한 주입할 필요가 없습니다.$log
모든 컨트롤러에서 사용할 수 있습니다.간단하게console.log("logging message")
동작합니다!
디세블로 할 수도 있습니다.console.info
,console.warn
,console.error
그리고.console.debug
당신의 필요에 따라 같은 방법으로요.
Diego의 응답에 근거하고 있습니다만, 몇개의 env 설정을 추가해, 단축합니다.다음과 같은 방법으로 앱을 실행할 수 있습니다.NODE_ENV=development
또는NODE_ENV=production
예1)NODE_ENV=development webpack-dev-server
예: 2.NODE_ENV=production node app.js
$logProvider.debugEnabled(process.env.NODE_ENV === 'development');
$provide.decorator('$log', function($delegate) {
$delegate.info = $logProvider.debugEnabled() ? $delegate.info : function() {};
$delegate.log = $logProvider.debugEnabled() ? $delegate.log : function() {};
return $delegate;
});
언급URL : https://stackoverflow.com/questions/15561853/how-to-turn-on-off-log-debug-in-angularjs
'programing' 카테고리의 다른 글
MVC Json Result camel Case 시리얼화 (0) | 2023.03.23 |
---|---|
ng-model 입력 유형 'number'는 angularjs가 작동하지 않습니다. (0) | 2023.03.23 |
NodeJs 애플리케이션 및 모듈 전체에서 Mongodb에 대한 연결을 적절하게 재사용하는 방법 (0) | 2023.03.23 |
ASP에서 파일을 다운로드합니다.Angular를 사용하는 NET Web API 메서드JS (0) | 2023.03.23 |
Android에서 요청을 통해 JSON 개체를 전송하는 방법은 무엇입니까? (0) | 2023.03.23 |