Chrome এ কনসোল.লগ টাইমস্ট্যাম্প?


235

লেখাগুলিতে ক্রম পাওয়ার আউটপুট টাইমস্ট্যাম্পগুলি পাওয়ার কোনও দ্রুত উপায় আছে console.log(যেমন ফায়ারফক্সও করে)। বা new Date().getTime()একমাত্র বিকল্পটি প্রেন্ডিং করছে?


1
আপনি দয়া করে গৃহীত উত্তর পরিবর্তন করতে পারেন? দ্বিতীয় সর্বাধিক ভোট দেওয়া একটি অনেক সহজ।
লিরন ইয়াহদাভ

দেখে মনে হচ্ছে Chrome কীভাবে এটি চালু করতে পারে তা পরিবর্তিত হয়েছে। দেখুন, github.com/Mic Microsoft
vscode/

উত্তর:


425

ক্রোমে, বিকল্পটি রয়েছে কনসোল সেটিংস (বিকাশকারী সরঞ্জাম -> কনসোল -> সেটিংস [উপরের-ডান কোণে)) "দেখান টাইমস্ট্যাম্পস" যা আমার প্রয়োজনের মতো।

আমি সবেমাত্র এটি পেয়েছি। অন্য কোনও নোংরা হ্যাকের প্রয়োজন নেই যা বার্তাগুলি যেখান থেকে লগ ইন করা হয়েছিল সেখানে প্লেসোল্ডারদের ধ্বংস করে এবং স্থানটি মুছে দেয়।

ক্রোম 68+ এর জন্য আপডেট

"টাইমস্ট্যাম্পগুলি দেখান" সেটিংটি দেবটুলস ড্রয়ারের উপরের-ডান কোণে পাওয়া "দেবটুলস সেটিংস" এর প্রিফারেন্সস প্যানে সরানো হয়েছে:

এখানে চিত্র বর্ণনা লিখুন


3
@ ক্রিজিসটফ ওলনি যেমন উল্লেখ করেছেন, এটি এখন ক্রোম 35 ডিভটুলসের অন্তর্নির্মিত। (হ্যাঁ!) বিকাশকারী সরঞ্জাম খোলার মাধ্যমে সক্ষম করুন (উদাঃ F12 বা "এলিমেন্ট পরিদর্শন করুন"), সেটিংস দেখতে "গিয়ার" এ ক্লিক করুন, তারপরে "কনসোল" বিভাগে "টাইমস্ট্যাম্পগুলি দেখান" চেকবক্সটি পরীক্ষা করুন। ! টাইমস্ট্যাম্প সেটিং DevTools সক্ষম twitter.com/addyosmani#stream-item-tweet-485862365247053824 html5rocks.com/en/tutorials/developertools/chrome-35/... codereview.chromium.org/185713007
iX3

1
Chrome এ টাইমস্ট্যাম্পের জন্য কোনও প্যাটার্ন ব্যবহার করার কোনও উপায় আছে কি? আমার কেবল ঘন্টা এবং মিনিট দরকার।
গুয়াস

31
ক্রোম 68.0.3440.106 এ আমাকে দেব সরঞ্জামগুলি (F12) খুলতে হয়েছে> উপরের ডানদিকে তিন-ডট মেনুতে ক্লিক করুন> সেটিংস ক্লিক করুন> বাম মেনুতে পছন্দসমূহ নির্বাচন করুন> সেটিংস স্ক্রিনের কনসোল বিভাগে টাইমস্ট্যাম্পগুলি চেক করুন (উপরে ডানদিকে) )
টেকিগার্ল

5
70.0.3538.110 (অফিসিয়াল বিল্ড) (-৪-বিট) এই উত্তরটি আমার জন্য একবার কাজ করেছিল: অর্থাত্ কনসোল "গিয়ার আইকন"; "টাইমস্ট্যাম্পগুলি দেখান" চেকমার্ক ... তবে এখন আমি ক্রোমে 70.0.3538.110 (অফিসিয়াল বিল্ড) (-৪-বিট) "টাইমস্ট্যাম্পগুলি দেখি" দেখছি না তাই আমি @ টেকিগার্লির পরামর্শটি পুনরায় চেষ্টা করেছি: ক্রোম :৮: অর্থাত খোলা দেব সরঞ্জাম (এফ 12) )> উপরের ডানদিকে তিন-ডট মেনুতে ক্লিক করুন> সেটিংস ক্লিক করুন> বাম মেনুতে পছন্দসমূহ নির্বাচন করুন> টাইমস্ট্যাম্পগুলি দেখান ... তবে আমি সেটিংস 70.0.3538.110 এর বাম মেনুতে "পছন্দগুলি" দেখতে পাই না (অফিসিয়াল বিল্ড ) (-৪-বিট)
রেড পিটর

2
ধন্যবাদ @ টেকিগার্ল, একমত হোন, আপনার উত্তরটি আমার সমস্যা সমাধান করে! এটি, ক্রোম 68+ এর ব্যবহারকারীদের অবশ্যই ডিভুলস সেটিংস পরিবর্তন করতে হবে ( দ্রুত কনসোল সেটিংসের জন্য ড্রয়ারের তুলনায় ) the ডিভটুলস সেটিংসে "পছন্দসমূহ" ট্যাব, "কনসোল" শিরোনাম; আপনি "টাইমস্ট্যাম্পগুলি দেখান" চেকবক্সটি খুঁজে পাবেন।
লাল মটর 16

81

এটা চেষ্টা কর:

console.logCopy = console.log.bind(console);

console.log = function(data)
{
    var currentDate = '[' + new Date().toUTCString() + '] ';
    this.logCopy(currentDate, data);
};



বা এটি, আপনি যদি টাইমস্ট্যাম্প চান তবে:

console.logCopy = console.log.bind(console);

console.log = function(data)
{
    var timestamp = '[' + Date.now() + '] ';
    this.logCopy(timestamp, data);
};



একাধিক জিনিস এবং একটি দুর্দান্ত উপায়ে লগ করতে (যেমন গাছের গাছের উপস্থাপনা):

console.logCopy = console.log.bind(console);

console.log = function()
{
    if (arguments.length)
    {
        var timestamp = '[' + Date.now() + '] ';
        this.logCopy(timestamp, arguments);
    }
};



বিন্যাস স্ট্রিং সহ ( জেএসফিডাল )

console.logCopy = console.log.bind(console);

console.log = function()
{
    // Timestamp to prepend
    var timestamp = new Date().toJSON();

    if (arguments.length)
    {
        // True array copy so we can call .splice()
        var args = Array.prototype.slice.call(arguments, 0);

        // If there is a format string then... it must
        // be a string
        if (typeof arguments[0] === "string")
        {
            // Prepend timestamp to the (possibly format) string
            args[0] = "%o: " + arguments[0];

            // Insert the timestamp where it has to be
            args.splice(1, 0, timestamp);

            // Log the whole array
            this.logCopy.apply(this, args);
        }
        else
        { 
            // "Normal" log
            this.logCopy(timestamp, args);
        }
    }
};


এর সাথে ফলাফলগুলি:

নমুনা আউটপুট

PS: কেবলমাত্র ক্রোমে পরীক্ষিত।

পিপিএস: Array.prototype.sliceএখানে নিখুঁত নয় কারণ এটি সিরিজের চেয়ে বরং অবজেক্টের অ্যারে হিসাবে লগইন হবে।


Chrome এর কনসোলে একটি সুন্দর পদ্ধতিতে অবজেক্টগুলি প্রদর্শন করতে লগ স্টেটমেন্টটি পুনরায় লিখেছিলেন, পূর্ববর্তী সংস্করণটি কেবল "[অবজেক্ট অবজেক্ট]" বা সাজানো দেখানো হয়েছিল।
জেএসমিথ

@Neal, অবশ্যই এটা না - আপনি এটি (প্রসারিত করতে হবে; আপনি ভালো কিছু করতে পারেন এই
JSmyth

এটি সাধারণ ক্ষেত্রে কাজ করবে না যেখানে লগ ইন করার প্রথম যুক্তিটি বিন্যাসের স্ট্রিং
নীলফায়স্ট

রক্তে কফির অভাব - সত্যিকার অর্থে তা বোঝায়নি বলে @ মন্তব্য আমার মন্তব্য মুছে ফেলেছে। আপনি সঠিক, এই নমুনা কোড ফর্ম্যাট নির্দিষ্টকারীকে ধরে না। আমি মনে করি, আমরা এখানে একটি অঙ্গ নিয়ে যেতে পারি এবং বিভিন্ন আউটপুট উত্পাদন করে তার উপর ভিত্তি করে স্ট্রিং স্পেসিফায়ারের ফর্ম্যাটটি পরীক্ষা করতে পারি।
জেএসমিথ

নিউলাইনগুলি সুন্দরভাবে পরিচালনা করার কোনও উপায় ? ক্রোম দ্বারা একাধিক লাইনে একটি বহু-লাইন বার্তা প্রদর্শিত হয়, তবে যখন কোনও স্ট্রিং থাকে তখন এটি ↵ অক্ষরের সাথে একটি দীর্ঘ লাইন হয়ে যায়।
ড্যান ড্যাসক্লেস্কু

20

আপনি দেব সরঞ্জাম প্রোফাইলার ব্যবহার করতে পারেন।

console.time('Timer name');
//do critical time stuff
console.timeEnd('Timer name');

"টাইমার নাম" অবশ্যই একই হতে হবে। আপনি বিভিন্ন নামের সাথে টাইমার একাধিক উদাহরণ ব্যবহার করতে পারেন।


এর রয়েছে console.timeStamp('foo')এটা ঠিক টাইমলাইনে একটি হলুদ বিন্দু হিসেবে উপস্থিত হয়। ফাঁকা জায়গাগুলির সাথে নাম ব্যবহার করার সময় এটি আমার পক্ষে কার্যকর হয়নি।
ভিটিম.ইস

এটি সম্পর্কিত console.logবা লগিং সম্পর্কিত কোনও প্রশ্নের উত্তর দেয় না
আন্দ্রেয়াস ডায়রিচ

পছন্দ করেছেন এটি কনসোলকে আউটপুট দেয়। এটি সম্পর্কে এই সম্পর্কে আরও 2013 ব্লগপোস্ট ব্লগ.মারিউসচুলজ.কম
জেপি

18

আমি প্রথমে এটি একটি মন্তব্য হিসাবে যুক্ত করেছি, তবে আমি একটি স্ক্রিনশট যুক্ত করতে চেয়েছিলাম কারণ কমপক্ষে একজন ব্যক্তি বিকল্পটি খুঁজে না পেয়েছিল (বা এটি কোনও কারণে তাদের নির্দিষ্ট সংস্করণে পাওয়া যায়নি)।

Chrome এ 68.0.3440.106 এ (এবং এখন 72.0.3626.121 এ চেক করা হয়েছে) আমাকে করতে হয়েছিল

  • দেব সরঞ্জাম খুলুন (F12)
  • উপরের ডানদিকে তিন-ডট মেনুতে ক্লিক করুন
  • সেটিংস ক্লিক করুন
  • বাম মেনুতে পছন্দগুলি নির্বাচন করুন
  • সেটিংস স্ক্রিনের কনসোল বিভাগে শো টাইমস্ট্যাম্পগুলি পরীক্ষা করুন

সেটিংস> পছন্দসমূহ> কনসোল> টাইমস্ট্যাম্পগুলি দেখান


7

আমি রূপান্তর argumentsকরতে এরে ব্যবহার Array.prototype.sliceযাতে আমি যা করতে পারেন concatঅপরের সাথে এরে আমি কি যোগ করার জন্য, তারপর তা পাস চান console.log.apply(console, /*here*/);

var log = function () {
    return console.log.apply(
        console,
        ['['+new Date().toISOString().slice(11,-5)+']'].concat(
            Array.prototype.slice.call(arguments)
        )
    );
};
log(['foo']); // [18:13:17] ["foo"]

দেখে মনে হচ্ছে এটিও সম্পাদনা করা argumentsযেতে পারে Array.prototype.unshiftতবে আমি জানি না যে এটির মতো এটি পরিবর্তন করা ভাল ধারণা / এর অন্যান্য পার্শ্ব প্রতিক্রিয়াও রয়েছে

var log = function () {
    Array.prototype.unshift.call(
        arguments,
        '['+new Date().toISOString().slice(11,-5)+']'
    );
    return console.log.apply(console, arguments);
};
log(['foo']); // [18:13:39] ["foo"]

6

+new Dateএবং Date.now()টাইমস্ট্যাম্পগুলি পাওয়ার বিকল্প উপায়


ধন্যবাদ, +1, তবে আমি আশা করছিলাম যে কোড যুক্ত না করেই এর জন্য কিছুটা সমর্থন থাকতে পারে।
আপক্রিক

6

আপনি যদি গুগল ক্রোম ব্রাউজার ব্যবহার করেন তবে আপনি ক্রোম কনসোল এপিআই ব্যবহার করতে পারেন:

  • কনসোল.টাইম: আপনার কোডের সেই বিন্দুতে কল করুন যেখানে আপনি টাইমার শুরু করতে চান
  • কনসোল.টাইমএন্ড: টাইমার বন্ধ করার জন্য এটি কল করুন

এই দুটি কলের মধ্যে অতিবাহিত সময়টি কনসোলে প্রদর্শিত হয়।

বিশদ তথ্যের জন্য, দয়া করে ডক লিঙ্কটি দেখুন: https://developers.google.com/chrome-developer-tools/docs/console


আমার মত যারা খুব অলস যান এবং এটি সন্ধান করতে এটির উপর এটি একটু প্রসারিত করার জন্য। সঠিক ব্যবহারটি হ'ল: কনসোল.টাইম ("মাইমিজার"); [কোড আপনি টাইম করতে চান] কনসোল.টাইমএন্ড ("মাইমাজার");
সামিহ

এটি কনসোল.লগ বা লগিং সম্পর্কিত কোনও প্রশ্নের উত্তর দেয় না
Andreas Dietrich

6

ক্রোম 68 থেকে:

"টাইমস্ট্যাম্পগুলি দেখান" সেটিংসে সরানো হয়েছে

দেখান টাইমস্ট্যাম্প কনসোল সেটিংসে কনসোল সেটিংসে পূর্বে চেকবক্সটি থেকে সরানো হয়েছে সেটিং

এখানে চিত্র বর্ণনা লিখুন


2
@ টেকিগার্লের উত্তরে একটি স্ক্রিনশট রয়েছে যেখানে ডেভটুলস সেটিংসে চেকবক্সটি কোথায় পাওয়া যায় তা দেখায়; এই উত্তরের স্ক্রিনশটটি আমাকে "টাইমস্ট্যাম্পগুলি দেখান" চেকবাক্সটি কোথায় পাবেন তা দেখায় না।
লাল মটর

4

এটিও চেষ্টা করে দেখুন:

this.log = console.log.bind( console, '[' + new Date().toUTCString() + ']' );

এই ফাংশনটি অন্তর্নির্মিতের মতো টাইমস্ট্যাম্প, ফাইলের নাম এবং লাইন নম্বর রাখে console.log


This এইভাবে logতৈরি ফাংশনটি একটি নির্দিষ্ট টাইমস্ট্যাম্পকে হিমশীতল করে ; প্রতিবার আপনি আপ-টু-ডেট সময় [= আপ টু ডেট; -] চাইলে আপনাকে এটি পুনরায় চালাতে হবে। এটি একটি ফাংশন তৈরি করা সম্ভব তবে আপনাকে এটির mklog()(...)পরিবর্তে এটি ব্যবহার করতে হবে log()
বেনি চেরনিয়াভস্কি-পাসকিন

3

আপনি যদি লাইন নম্বর সম্পর্কিত তথ্য (প্রতিটি বার্তা তার .log () কলকে নির্দেশ করে, সমস্ত আমাদের র‍্যাপারের দিকে নির্দেশ করে না) সংরক্ষণ করতে চান তবে আপনাকে ব্যবহার করতে হবে .bind()। আপনি এর মাধ্যমে একটি অতিরিক্ত টাইমস্ট্যাম্প যুক্তি প্রিপেন্ড করতে পারেন console.log.bind(console, <timestamp>)তবে সমস্যাটি হ'ল একটি নতুন টাইমস্ট্যাম্পের সাথে আবদ্ধ ফাংশনটি পেতে আপনাকে প্রতিবার এটি পুনরায় চালানো দরকার। এটি করার একটি বিশ্রী উপায় হল একটি ফাংশন যা একটি সীমাবদ্ধ ফাংশন দেয়:

function logf() {
  // console.log is native function, has no .bind in some browsers.
  // TODO: fallback to wrapping if .bind doesn't exist...
  return Function.prototype.bind.call(console.log, console, yourTimeFormat());
}

যা ডাবল কল দিয়ে ব্যবহার করতে হবে:

logf()(object, "message...")

তবে আমরা গেটর ফাংশন সহ কোনও সম্পত্তি ইনস্টল করে প্রথম কলটিকে অন্তর্ভুক্ত করতে পারি :

var origLog = console.log;
// TODO: fallbacks if no `defineProperty`...
Object.defineProperty(console, "log", {
  get: function () { 
    return Function.prototype.bind.call(origLog, console, yourTimeFormat()); 
  }
});

এখন আপনি কেবল কল করেছেন console.log(...)এবং স্বয়ংক্রিয়ভাবে এটি একটি টাইমস্ট্যাম্প সংশোধন করে!

> console.log(12)
71.919s 12 VM232:2
undefined
> console.log(12)
72.866s 12 VM233:2
undefined

এমনকি আপনি একটি সহজ সঙ্গে এই ঐন্দ্রজালিক আচরণ অর্জন করতে পারেন log()পরিবর্তে console.log()করে Object.defineProperty(window, "log", ...)


সামঞ্জস্যতা ফলব্যাক সহ, একটি ভালভাবে সম্পন্ন নিরাপদ কনসোল মোড়কের জন্য https://github.com/pimterry/loglevel দেখুন .bind()

লিগ্যাসি API থেকে সামঞ্জস্যতা ফালব্যাকগুলির জন্য https://github.com/eligrey/Xccessors দেখুন । যদি কোনও সম্পত্তি এপিআই কাজ করে না, আপনি একটি মোড়ক ফাংশনে ফ্যালব্যাক করুন যা প্রতিবার একটি নতুন টাইমস্ট্যাম্প পায়। (এই ক্ষেত্রে আপনি লাইন নম্বর তথ্য হারাবেন, তবে টাইমস্ট্যাম্পগুলি এখনও প্রদর্শিত হবে))defineProperty()__defineGetter__


বয়লারপ্লেট: সময় পছন্দ করে format

var timestampMs = ((window.performance && window.performance.now) ?
                 function() { return window.performance.now(); } :
                 function() { return new Date().getTime(); });
function formatDuration(ms) { return (ms / 1000).toFixed(3) + "s"; }
var t0 = timestampMs();
function yourTimeFormat() { return formatDuration(timestampMs() - t0); }

2

এটি thisআপনি যতটা আর্গুমেন্ট ব্যবহার করে স্থানীয় সুযোগে (ব্যবহার করে ) একটি "লগ" ফাংশন যুক্ত করে :

this.log = function() {
    var args = [];
    args.push('[' + new Date().toUTCString() + '] ');
    //now add all the other arguments that were passed in:
    for (var _i = 0, _len = arguments.length; _i < _len; _i++) {
      arg = arguments[_i];
      args.push(arg);
    }

    //pass it all into the "real" log function
    window.console.log.apply(window.console, args); 
}

সুতরাং আপনি এটি ব্যবহার করতে পারেন:

this.log({test: 'log'}, 'monkey', 42);

এরকম কিছু আউটপুট দেয়:

[সোমবার, 11 মার্চ 2013 16:47:49 GMT] অবজেক্ট {পরীক্ষা: "লগ"} বানর 42


2

খুব সুন্দর বাড়ানো সমাধান "ফরম্যাট স্ট্রিং সঙ্গে" JSmyth থেকে এছাড়াও সমর্থন

  • সব অন্যান্য console.logবৈচিত্র ( log, debug, info, warn, error)
  • টাইমস্ট্যাম্প স্ট্রিং নমনীয়তা পরম সহ (যেমন 09:05:11.518বনাম।2018-06-13T09:05:11.518Z )
  • ফ্যালব্যাকconsole সহ ক্ষেত্রে বা এর ক্রিয়াকলাপগুলি ব্রাউজারগুলিতে বিদ্যমান নয়

var Utl = {

consoleFallback : function() {

    if (console == undefined) {
        console = {
            log : function() {},
            debug : function() {},
            info : function() {},
            warn : function() {},
            error : function() {}
        };
    }
    if (console.debug == undefined) { // IE workaround
        console.debug = function() {
            console.info( 'DEBUG: ', arguments );
        }
    }
},


/** based on timestamp logging: from: https://stackoverflow.com/a/13278323/1915920 */
consoleWithTimestamps : function( getDateFunc = function(){ return new Date().toJSON() } ) {

    console.logCopy = console.log.bind(console)
    console.log = function() {
        var timestamp = getDateFunc()
        if (arguments.length) {
            var args = Array.prototype.slice.call(arguments, 0)
            if (typeof arguments[0] === "string") {
                args[0] = "%o: " + arguments[0]
                args.splice(1, 0, timestamp)
                this.logCopy.apply(this, args)
            } else this.logCopy(timestamp, args)
        }
    }
    console.debugCopy = console.debug.bind(console)
    console.debug = function() {
        var timestamp = getDateFunc()
        if (arguments.length) {
            var args = Array.prototype.slice.call(arguments, 0)
            if (typeof arguments[0] === "string") {
                args[0] = "%o: " + arguments[0]
                args.splice(1, 0, timestamp)
                this.debugCopy.apply(this, args)
            } else this.debugCopy(timestamp, args)
        }
    }
    console.infoCopy = console.info.bind(console)
    console.info = function() {
        var timestamp = getDateFunc()
        if (arguments.length) {
            var args = Array.prototype.slice.call(arguments, 0)
            if (typeof arguments[0] === "string") {
                args[0] = "%o: " + arguments[0]
                args.splice(1, 0, timestamp)
                this.infoCopy.apply(this, args)
            } else this.infoCopy(timestamp, args)
        }
    }
    console.warnCopy = console.warn.bind(console)
    console.warn = function() {
        var timestamp = getDateFunc()
        if (arguments.length) {
            var args = Array.prototype.slice.call(arguments, 0)
            if (typeof arguments[0] === "string") {
                args[0] = "%o: " + arguments[0]
                args.splice(1, 0, timestamp)
                this.warnCopy.apply(this, args)
            } else this.warnCopy(timestamp, args)
        }
    }
    console.errorCopy = console.error.bind(console)
    console.error = function() {
        var timestamp = getDateFunc()
        if (arguments.length) {
            var args = Array.prototype.slice.call(arguments, 0)
            if (typeof arguments[0] === "string") {
                args[0] = "%o: " + arguments[0]
                args.splice(1, 0, timestamp)
                this.errorCopy.apply(this, args)
            } else this.errorCopy(timestamp, args)
        }
    }
}
}  // Utl

Utl.consoleFallback()
//Utl.consoleWithTimestamps()  // defaults to e.g. '2018-06-13T09:05:11.518Z'
Utl.consoleWithTimestamps( function(){ return new Date().toJSON().replace( /^.+T(.+)Z.*$/, '$1' ) } )  // e.g. '09:05:11.518'

একটি অসুবিধা যে যদিও (যেমন মুক্তিযোদ্ধা 56.0 মধ্যে) এটা লগ বিবৃতি উৎস অবস্থান, কিন্তু থেকে এক প্রদর্শন করা হয় না Utl.jsউপরে । সুতরাং- Utl.consoleWithTimestamps(...)ওভারাইডের অন-ডিমান্ড কমেন্টে / ইন-আউট করা সার্থক হতে পারে
আন্দ্রেস

1

আমার বেশিরভাগ নোড.জেএস অ্যাপ্লিকেশনগুলিতে এটি রয়েছে। এটি ব্রাউজারেও কাজ করে।

function log() {
  const now = new Date();
  const currentDate = `[${now.toISOString()}]: `;
  const args = Array.from(arguments);
  args.unshift(currentDate);
  console.log.apply(console, args);
}

1

ES6 সমাধান:

const timestamp = () => `[${new Date().toUTCString()}]`
const log = (...args) => console.log(timestamp(), ...args)

যেখানে timestamp()রিটার্নগুলি আসলে টাইমস্ট্যাম্প ফর্ম্যাট করে এবং logএকটি টাইমস্ট্যাম্প যুক্ত করে এবং এতে নিজস্ব আর্গুমেন্ট প্রচার করেconsole.log


1
সবার জন্য বোঝার জন্য এটি পরিষ্কার করে বিস্তারিত
জানুন

ধন্যবাদ @ ইয়াতিনখুলার আমি আমার উত্তর পরিবর্তন করেছি।
এ। রোকিনস্কি

0

জেএসমিথের উত্তর সম্পর্কে একটি পরিমার্জন:

console.logCopy = console.log.bind(console);

console.log = function()
{
    if (arguments.length)
    {
        var timestamp = new Date().toJSON(); // The easiest way I found to get milliseconds in the timestamp
        var args = arguments;
        args[0] = timestamp + ' > ' + arguments[0];
        this.logCopy.apply(this, args);
    }
};

এই:

  • মিলিসেকেন্ড সহ টাইমস্ট্যাম্পগুলি দেখায়
  • প্রথম প্যারামিটার হিসাবে একটি ফর্ম্যাট স্ট্রিং ধরে .log

এটি প্রায় সমস্ত ভাল দেখাচ্ছে, আপনি যদি console.log(document, window)বিন্যাসের স্ট্রিং অনুমান ব্যতীত, তবে আপনি স্মেথ পেতে চাইছেন তা ব্যতীত good পছন্দ 2014-02-15T20:02:17.284Z > [object HTMLDocument] Window {…}পরিবর্তে documentএকটি বিস্তারযোগ্য বস্তুর গাছ হিসাবে প্রতিনিধিত্ব করা হচ্ছে।
জেএসমিথ

আপনি যে বিষয়টি নিয়ে এসেছেন তার সমাধানের জন্য আমি কোথায় চেষ্টা করেছি তা এখানে দেখুন (সময় পূর্বে আমার উত্তরও আপডেট করেছে)।
জেএসমিথ

@ জেএসমিথ: নিশ্চিত, সে কারণেই আমার পরিশোধনটির একটি প্রয়োজনীয়তা হ'ল প্রথম যুক্তিটি বিন্যাসের স্ট্রিং। এটিকে নমনীয় করে তুলতে, সম্ভবত স্ট্রিং হওয়ার প্রথম যুক্তির একটি চেক যথেষ্ট।
ব্লুফাস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.