Bagikan melalui


Referensi host.json untuk Azure Functions 1.x

File metadata host.json berisi opsi konfigurasi yang memengaruhi semua fungsi di instans aplikasi fungsi. Artikel ini mencantumkan pengaturan yang tersedia untuk versi runtime 1.x. Skema JSON adalah pada http://json.schemastore.org/host.

Catatan

Artikel ini untuk Azure Functions 1.x. Untuk referensi host.json di Functions 2.x dan versi yang lebih baru, lihat referensi host.json untuk Azure Functions 2.x.

Opsi konfigurasi aplikasi fungsi lainnya dikelola di pengaturan aplikasi Anda.

Beberapa pengaturan host.json hanya digunakan saat menjalankan secara lokal di file local.settings.json.

Contoh file host.json

Contoh file host.json berikut memiliki semua opsi yang mungkin ditentukan.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    },
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    },
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix"
        }
    },
    "eventHub": {
      "maxBatchSize": 64,
      "prefetchCount": 256,
      "batchCheckpointFrequency": 1
    },
    "functions": [ "QueueProcessor", "GitHubWebHook" ],
    "functionTimeout": "00:05:00",
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    },
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 20,
        "maxConcurrentRequests": 10,
        "dynamicThrottlesEnabled": false
    },
    "id": "9f4ea53c5136457d883d685e57164f08",
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    },
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    },
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    },
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    },
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    },
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    },
    "watchDirectories": [ "Shared" ],
}

Bagian berikut dari artikel ini menjelaskan setiap properti tingkat atas. Semua bersifat opsional kecuali dinyatakan lain.

agregator

Menentukan berapa banyak pemanggilan fungsi yang diagregasi saat menghitung metrik untuk Application Insights.

{
    "aggregator": {
        "batchSize": 1000,
        "flushTimeout": "00:00:30"
    }
}
Properti Default Deskripsi
batchSize 1000 Jumlah maksimum permintaan untuk agregat.
flushTimeout 00:00:30 Periode waktu maksimum untuk agregat.

Pemanggilan fungsi diagregasi ketika batasan pertama dari dua batas tercapai.

applicationInsights

Mengontrol fitur pengambilan sampel di Application Insights.

{
    "applicationInsights": {
        "sampling": {
          "isEnabled": true,
          "maxTelemetryItemsPerSecond" : 5
        }
    }
}
Properti Default Deskripsi
Diaktifkan benar Mengaktifkan atau menonaktifkan pengambilan sampel.
maxTelemetryItemsPerSecond 5 Ambang batas ketika pengambilan sampel dimulai.

DocumentDB

Pengaturan konfigurasi untuk pemicu dan pengikatan Azure Cosmos DB.

{
    "documentDB": {
        "connectionMode": "Gateway",
        "protocol": "Https",
        "leaseOptions": {
            "leasePrefix": "prefix1"
        }
    }
}
Properti Default Deskripsi
GatewayMode Gateway Mode koneksi yang digunakan oleh fungsi saat menyambungkan ke layanan Azure Cosmos DB. Opsinya adalah Direct dan Gateway
Protokol Https Protokol koneksi yang digunakan oleh fungsi saat tersambung ke layanan Azure Cosmos DB. Baca di sini untuk penjelasan kedua mode tersebut
leasePrefix n/a Awalan sewa untuk digunakan di semua fungsi dalam aplikasi.

durableTask

Pengaturan konfigurasi untuk Fungsi Tahan Lama.

Catatan

Semua versi utama Fungsi Tahan Lama didukung pada semua versi runtime Azure Functions. Namun, skema konfigurasi host.json sedikit berbeda bergantung pada versi runtime Azure Functions dan versi ekstensi Fungsi Tahan Lama yang Anda gunakan. Contoh berikut digunakan dengan Azure Functions 2.0 dan 3.0. Dalam kedua contoh, jika Anda menggunakan Azure Functions 1.0, pengaturan yang tersedia sama, tetapi bagian “durableTask” dari host.json harus masuk ke akar konfigurasi host.json alih-alih sebagai bidang di bawah “ekstensi”.

{
 "extensions": {
  "durableTask": {
    "hubName": "MyTaskHub",
    "storageProvider": {
      "connectionStringName": "AzureWebJobsStorage",
      "controlQueueBatchSize": 32,
      "controlQueueBufferThreshold": 256,
      "controlQueueVisibilityTimeout": "00:05:00",
      "maxQueuePollingInterval": "00:00:30",
      "partitionCount": 4,
      "trackingStoreConnectionStringName": "TrackingStorage",
      "trackingStoreNamePrefix": "DurableTask",
      "useLegacyPartitionManagement": true,
      "useTablePartitionManagement": false,
      "workItemQueueVisibilityTimeout": "00:05:00",
    },
    "tracing": {
      "traceInputsAndOutputs": false,
      "traceReplayEvents": false,
    },
    "notifications": {
      "eventGrid": {
        "topicEndpoint": "https://topic_name.westus2-1.eventgrid.azure.net/api/events",
        "keySettingName": "EventGridKey",
        "publishRetryCount": 3,
        "publishRetryInterval": "00:00:30",
        "publishEventTypes": [
          "Started",
          "Pending",
          "Failed",
          "Terminated"
        ]
      }
    },
    "maxConcurrentActivityFunctions": 10,
    "maxConcurrentOrchestratorFunctions": 10,
    "extendedSessionsEnabled": false,
    "extendedSessionIdleTimeoutInSeconds": 30,
    "useAppLease": true,
    "useGracefulShutdown": false,
    "maxEntityOperationBatchSize": 50,
    "storeInputsInOrchestrationHistory": false
  }
 }
}

Nama hub tugas harus dimulai dengan huruf dan hanya terdiri atas huruf dan angka. Jika tidak ditentukan, nama hub tugas default untuk aplikasi fungsi adalah TestHubName. Untuk informasi selengkapnya, lihat Hub tugas.

Properti Default Deskripsi
hubName TestHubName (DurableFunctionsHub jika menggunakan Durable Functions 1.x) Nama hub tugas alternatif dapat digunakan untuk mengisolasi beberapa aplikasi Fungsi Tahan Lama satu sama lain, bahkan jika menggunakan backend penyimpanan yang sama.
controlQueueBatchSize 32 Jumlah pesan yang akan ditarik dari antrean kontrol sekaligus.
controlQueueBufferThreshold Paket konsumsi untuk Python: 32
Paket konsumsi untuk JavaScript dan C#: 128
Paket Khusus/Premium: 256
Jumlah pesan antrean kontrol yang dapat disangga dalam memori sekaligus, di mana saat itu dispatcher akan menunggu sebelum tidak mengantre pesan tambahan apa pun.
partitionCount 4 Jumlah partisi untuk antrean kontrol. Harus berupa bilangan bulat positif antara 1 dan 16.
controlQueueVisibilityTimeout 5 menit Batas waktu visibilitas pesan antrean kontrol yang tidak diantrekan.
workItemQueueVisibilityTimeout 5 menit Batas waktu visibilitas pesan antrean item kerja yang dihapus dari antrean.
maxConcurrentActivityFunctions Paket konsumsi: 10
Paket Dedicated/Premium: 10X jumlah prosesor pada mesin saat ini
Jumlah maksimum fungsi aktivitas yang dapat diproses secara bersamaan pada satu instans hosting.
maxConcurrentOrchestratorFunctions Paket konsumsi: 5
Paket Dedicated/Premium: 10X jumlah prosesor pada mesin saat ini
Jumlah maksimum fungsi orkestrator yang dapat diproses secara bersamaan pada satu instans hosting.
maxQueuePollingInterval 30 detik Kontrol maksimum dan interval polling antrean item kerja dalam format hh:mm:ss. Nilai yang lebih tinggi dapat mengakibatkan keterlambatan pemrosesan pesan yang lebih tinggi. Nilai yang lebih rendah dapat mengakibatkan biaya penyimpanan yang lebih tinggi karena peningkatan transaksi penyimpanan.
connectionName (2.7.0 dan yang lebih baru)
connectionStringName (2.x)
azureStorageConnectionStringName (1.x)
AzureWebJobsStorage Nama pengaturan aplikasi atau koleksi pengaturan yang menentukan cara terhubung ke sumber daya Azure Cosmos yang mendasarinya. Saat satu pengaturan aplikasi disediakan, itu harus menjadi string koneksi Azure Storage.
trackingStoreConnectionName (2.7.0 dan yang lebih baru)
trackingStoreConnectionStringName
Nama pengaturan aplikasi atau koleksi pengaturan yang menentukan cara tersambung ke tabel Riwayat dan Instans. Saat satu pengaturan aplikasi disediakan, itu harus menjadi string koneksi Azure Storage. Jika tidak ditentukan, koneksi connectionStringName (Tahan lama 2.x) atau azureStorageConnectionStringName (Tahan lama 1.x) digunakan.
trackingStoreNamePrefix Awalan yang digunakan untuk tabel Riwayat dan Instans ketika trackingStoreConnectionStringName ditentukan. Jika tidak diatur, nilai awalan default akan menjadi DurableTask. Jika trackingStoreConnectionStringName tidak ditentukan, maka tabel Riwayat dan Instans akan menggunakan nilai hubName sebagai awalannya, dan pengaturan untuk trackingStoreNamePrefix akan diabaikan.
traceInputsAndOutputs salah Nilai yang menunjukkan apakah akan melacak input dan output panggilan fungsi. Perilaku default saat menelusuri peristiwa eksekusi fungsi adalah memasukkan jumlah byte dalam input dan output berseri untuk panggilan fungsi. Perilaku ini memberikan informasi minimal tentang seperti apa input dan output tanpa mengasapi log atau secara tidak sengaja mengekspos informasi sensitif. Mengatur properti ini ke true menyebabkan pengelogan fungsi default untuk mencatat seluruh isi input dan output fungsi.
traceReplayEvents salah Nilai yang menunjukkan apakah akan menulis peristiwa pemutaran ulang orkestrasi ke Application Insights.
eventGridTopicEndpoint URL titik akhir topik kustom Azure Event Grid. Ketika properti ini ditetapkan, peristiwa pemberitahuan siklus hidup orkestrasi dipublikasikan ke titik akhir ini. Properti ini mendukung resolusi Pengaturan Aplikasi.
eventGridKeySettingName Nama pengaturan aplikasi yang berisi kunci yang digunakan untuk mengautentikasi dengan topik kustom Azure Event Grid di EventGridTopicEndpoint.
eventGridPublishRetryCount 0 Berapa kali untuk mencoba kembali jika penerbitan ke Topik Event Grid gagal.
eventGridPublishRetryInterval 5 menit Event Grid menerbitkan interval coba lagi dalam format hh:mm:ss.
eventGridPublishEventTypes Daftar jenis peristiwa untuk diterbitkan ke Event Grid. Jika tidak ditentukan, semua jenis peristiwa akan diterbitkan. Nilai yang diperbolehkan mencakup Started, Completed, Failed, Terminated.
useAppLease benar Saat diatur ke true, aplikasi akan memerlukan memperoleh sewa blob tingkat aplikasi sebelum memproses pesan hub tugas. Untuk informasi selengkapnya, lihat dokumentasi pemulihan bencana dan distribusi geografis. Tersedia mulai dari v2.3.0.
useLegacyPartitionManagement salah Ketika diatur ke false, menggunakan algoritma manajemen partisi yang mengurangi kemungkinan eksekusi fungsi duplikat saat peluasan skala. Tersedia mulai v2.3.0.
useTablePartitionManagement salah Saat diatur ke true, menggunakan algoritma manajemen partisi yang dirancang untuk mengurangi biaya untuk akun Azure Storage V2. Tersedia mulai dari v2.10.0. Fitur ini saat ini dalam pratinjau dan belum kompatibel dengan paket Konsumsi.
useGracefulShutdown salah (Pratinjau) Aktifkan matikan dengan anggun untuk mengurangi kemungkinan matikan hosting gagal dalam proses eksekusi fungsi.
maxEntityOperationBatchSize(2.6.1) Paket konsumsi: 50
Paket Khusus/Premium: 5000
Jumlah maksimum operasi entitas yang diproses sebagai batch. Jika diatur ke 1, pembuatan batch dinonaktifkan, dan setiap pesan operasi diproses oleh pemanggilan fungsi terpisah.
storeInputsInOrchestrationHistory salah Saat diatur ke true, memberi tahu Kerangka Kerja Tugas Tahan Lama untuk menyimpan input aktivitas dalam tabel riwayat. Ini memungkinkan penayangan input fungsi aktivitas saat mengkueri riwayat orkestrasi.

Banyak dari pengaturan ini untuk mengoptimalkan performa. Untuk informasi selengkapnya, lihat Performa dan skala.

eventHub

Pengaturan konfigurasi untuk pemicu dan pengikatan Event Hub .

fungsi

Daftar fungsi yang dijalankan oleh host pekerjaan. Larik kosong berarti menjalankan semua fungsi. Ditujukan untuk digunakan hanya ketika berjalan secara lokal. Di aplikasi fungsi di Azure, Anda harus mengikuti langkah-langkah dalam Cara menonaktifkan fungsi di Azure Functions untuk menonaktifkan fungsi tertentu alih-alih menggunakan pengaturan ini.

{
    "functions": [ "QueueProcessor", "GitHubWebHook" ]
}

functionTimeout

Menunjukkan durasi waktu habis untuk semua fungsi. Dalam paket Konsumsi tanpa server, kisaran yang valid adalah dari 1 detik hingga 10 menit, dan nilai defaultnya adalah 5 menit. Dalam paket App Service, tidak ada batas keseluruhan dan defaultnya adalah null, yang menunjukkan tidak ada batas waktu.

{
    "functionTimeout": "00:05:00"
}

healthMonitor

Pengaturan konfigurasi untuk monitor kesehatan Host.

{
    "healthMonitor": {
        "enabled": true,
        "healthCheckInterval": "00:00:10",
        "healthCheckWindow": "00:02:00",
        "healthCheckThreshold": 6,
        "counterThreshold": 0.80
    }
}
Properti Default Deskripsi
diaktifkan benar Menentukan apakah fitur diaktifkan.
healthCheckInterval 10 detik Interval waktu antara pemeriksaan kesehatan latar belakang berkala.
healthCheckWindow 2 menit Jendela waktu geser yang digunakan dengan healthCheckThreshold pengaturan.
healthCheckThreshold 6 Frekuensi maksimum kegagalan pemeriksaan kesehatan sebelum daur ulang host dimulai.
counterThreshold 0,80 Ambang batas kinerja yang dianggap tidak sehat oleh penghitung perfoma.

http

Pengaturan konfigurasi untuk pemicu dan pengikatan http.

{
    "http": {
        "routePrefix": "api",
        "maxOutstandingRequests": 200,
        "maxConcurrentRequests": 100,
        "dynamicThrottlesEnabled": true
    }
}
Properti Default Deskripsi
dynamicThrottlesEnabled salah Ketika diaktifkan, pengaturan ini menyebabkan alur pemrosesan permintaan secara berkala memeriksa penghitung kinerja sistem seperti koneksi/utas/proses/memori/cpu/dll. dan jika salah satu penghitung tersebut melewati ambang batas tinggi bawaan (80%), permintaan ditolak dengan respons 429 "Terlalu Sibuk" sampai penghitung kembali ke tingkat normal.
maxConcurrentRequests tidak terikat (-1) Jumlah maksimum fungsi HTTP yang akan dijalankan secara paralel. Ini memungkinkan Anda untuk mengontrol konkurensi, yang dapat membantu mengelola pemanfaatan sumber daya. Misalnya, Anda mungkin memiliki fungsi HTTP yang menggunakan banyak sumber daya sistem (memori/cpu/soket) sehingga menyebabkan masalah saat konkurensi terlalu tinggi. Atau Anda mungkin memiliki fungsi yang membuat permintaan keluar ke layanan pihak ketiga, dan panggilan tersebut harus dibatasi tarifnya. Dalam kasus ini, menerapkan pembatasan di sini dapat membantu.
maxOutstandingRequests tidak terikat (-1) Jumlah maksimum permintaan tertunda yang ditahan pada waktu tertentu. Batas ini mencakup permintaan yang diantrekan tetapi belum mulai dieksekusi, dan eksekusi apa pun yang sedang berlangsung. Permintaan masuk apa pun yang melebihi batas ini akan ditolak dengan respons 429 "Terlalu Sibuk". Hal Itu memungkinkan penelepon untuk menggunakan strategi coba lagi berbasis waktu, dan juga membantu Anda mengontrol keterlambatan permintaan maksimum. Ini hanya mengontrol antrean yang terjadi dalam jalur eksekusi host skrip. Antrean lain seperti antrean permintaan ASP.NET akan tetap berlaku dan tidak terpengaruh oleh pengaturan ini.
routePrefix api Awalan rute yang berlaku untuk semua rute. Gunakan untai kosong untuk menghapus prefiks default.

id

ID unik untuk host pekerjaan. Dapat berupa GUID huruf kecil dengan tanda hubung dihapus. Diperlukan saat berjalan secara lokal. Saat menjalankan di Azure, kami menyarankan Anda untuk tidak mengatur nilai ID. ID dibuat secara otomatis di Azure saat id dihilangkan.

Jika Anda berbagi akun Penyimpanan di beberapa aplikasi fungsi, pastikan setiap aplikasi fungsi memiliki id yang berbeda. Anda dapat menghilangkan properti id atau mengatur setiap aplikasi fungsi id secara manual ke nilai yang berbeda. Pemicu timer menggunakan kunci penyimpanan untuk memastikan bahwa hanya akan ada satu instans timer ketika aplikasi fungsi diskalakan ke beberapa instans. Jika dua aplikasi fungsi berbagi yang sama id dan masing-masing menggunakan pemicu timer, hanya satu timer yang berjalan.

{
    "id": "9f4ea53c5136457d883d685e57164f08"
}

pencatat

Mengontrol pemfilteran untuk log yang ditulis oleh objek ILogger atau berdasarkan context.log.

{
    "logger": {
        "categoryFilter": {
            "defaultLevel": "Information",
            "categoryLevels": {
                "Host": "Error",
                "Function": "Error",
                "Host.Aggregator": "Information"
            }
        }
    }
}
Properti Default Deskripsi
categoryFilter n/a Menentukan pemfilteran menurut kategori
defaultLevel Informasi Untuk kategori apa pun yang tidak ditentukan dalam larik categoryLevels, kirim log pada tingkat ini dan ke atas ke Application Insights.
categoryLevels n/a Larik kategori yang menentukan tingkat log minimum untuk dikirim ke Application Insights untuk setiap kategori. Kategori yang ditentukan di sini mengontrol semua kategori yang dimulai dengan nilai yang sama, dan nilai yang lebih panjang diutamakan. Dalam contoh file host.json sebelumnya, semua kategori yang dimulai dengan log "Host.Aggregator" di level Information. Semua kategori lain yang dimulai dengan "Host", seperti "Host.Executor", log di level Error.

antrean

Pengaturan konfigurasi untuk Pemicu dan pengikatan antrean penyimpanan.

{
    "queues": {
      "maxPollingInterval": 2000,
      "visibilityTimeout" : "00:00:30",
      "batchSize": 16,
      "maxDequeueCount": 5,
      "newBatchThreshold": 8
    }
}
Properti Default Deskripsi
maxPollingInterval 60000 Interval maksimum dalam milidetik antara polling antrean.
visibilityTimeout 0 Interval waktu antara coba ulang ketika pemrosesan pesan gagal.
batchSize 16 Jumlah pesan antrean yang diambil runtime Azure Functions secara bersamaan dan diproses secara paralel. Ketika nomor yang sedang diproses turun ke newBatchThreshold, runtime mendapatkan batch lain dan mulai memproses pesan-pesan tersebut. Jadi jumlah maksimum pesan bersamaan yang sedang diproses per fungsi adalah batchSize plus newBatchThreshold. Batas ini berlaku secara terpisah untuk setiap fungsi yang dipicu antrean.

Jika Anda ingin menghindari eksekusi paralel untuk pesan yang diterima pada satu antrean, Anda dapat mengatur batchSize ke 1. Namun, pengaturan ini menghilangkan konkurensi hanya selama aplikasi fungsi Anda berjalan pada satu komputer virtual (VM). Jika aplikasi fungsi menskalakan ke beberapa VM, setiap VM dapat menjalankan satu instans dari setiap fungsi yang dipicu antrean.

Maksimum batchSize adalah 32.
maxDequeueCount 5 Frekuensi mencoba memproses pesan sebelum memindahkannya ke antrean racun.
newBatchThreshold batchSize/2 Setiap kali jumlah pesan yang sedang diproses secara bersamaan turun ke nomor ini, runtime mengambil batch lain.

SendGrid

Pengaturan konfigurasi untuk pengikatan output SendGrind

{
    "sendGrid": {
        "from": "Contoso Group <admin@contoso.com>"
    }
}    
Properti Default Deskripsi
dari n/a Alamat email pengirim di semua fungsi.

serviceBus

Pengaturan konfigurasi untuk pemicu dan pengikatan Bus Layanan.

{ 
    "serviceBus": {
      "maxConcurrentCalls": 16,
      "prefetchCount": 100,
      "autoRenewTimeout": "00:05:00",
      "autoComplete": true
    }
}
Properti Default Deskripsi
maxConcurrentCalls 16 Jumlah maksimum panggilan serentak ke panggilan balik yang harus dimulai oleh pompa pesan. Secara default, runtime Functions memproses beberapa pesan secara bersamaan. Untuk mengarahkan runtime agar memproses hanya satu antrian atau topik pesan pada satu waktu, atur maxConcurrentCalls ke 1.
prefetchCount n/a PrefetchCount default yang akan digunakan oleh ServiceBusReceiver yang mendasarinya.
autoRenewTimeout 00:05:00 Durasi maksimum di mana kunci pesan akan diperbarui secara otomatis.
autoComplete benar Jika benar, pemicu menyelesaikan pemrosesan pesan secara otomatis pada keberhasilan eksekusi operasi. Ketika salah, itu adalah tanggung jawab fungsi untuk menyelesaikan pesan sebelum kembali.

database tunggal

Pengaturan konfigurasi untuk perilaku kunci Database Tunggal. Untuk informasi selengkapnya, lihat Masalah GitHub tentang dukungan tunggal.

{
    "singleton": {
      "lockPeriod": "00:00:15",
      "listenerLockPeriod": "00:01:00",
      "listenerLockRecoveryPollingInterval": "00:01:00",
      "lockAcquisitionTimeout": "00:01:00",
      "lockAcquisitionPollingInterval": "00:00:03"
    }
}
Properti Default Deskripsi
lockPeriod 00:00:15 Periode pengambilan kunci tingkat fungsi. Kunci diperpanjang otomatis.
listenerLockPeriod 00:01:00 Periode pengambilan kunci pendengar.
listenerLockRecoveryPollingInterval 00:01:00 Interval waktu yang digunakan untuk pemulihan kunci pendengar jika kunci pendengar tidak dapat diperoleh saat memulai.
lockAcquisitionTimeout 00:01:00 Jumlah maksimum waktu runtime mencoba memperoleh kunci.
lockAcquisitionPollingInterval n/a Interval antara upaya akuisisi kunci.

pelacakan

Versi 1.x

Pengaturan konfigurasi untuk log yang Anda buat dengan menggunakan objek TraceWriter. Untuk mempelajari selengkapnya, lihat [C# Pengelogan].

{
    "tracing": {
      "consoleLevel": "verbose",
      "fileLoggingMode": "debugOnly"
    }
}
Properti Default Deskripsi
consoleLevel info Level pelacakan untuk pencatatan konsol. Opsinya adalah: off, error, warning, info, dan verbose.
fileLoggingMode debugOnly Tingkat pelacakan untuk pencatatan file. Opsinya adalah never, always, debugOnly.

watchDirectories

Sekumpulan direktori kode bersama yang harus dipantau perubahannya. Memastikan bahwa ketika kode dalam direktori ini diubah, perubahan diambil oleh fungsi Anda.

{
    "watchDirectories": [ "Shared" ]
}

Langkah berikutnya