Our application is using Serilog's Application Insights sink to log to the Application Insights traces table. The app calls out to an API and we'd like to log the body of the request sent to the API, and the body of the response coming back.
Sometimes the request or response bodies are larger than the 32 kB maximum limit for the message column in the traces table. In that case the JSON request or response body is truncated.
Does Application Insights have the equivalent of the SQL Server FILESTREAM data type, where large objects are saved to a backing store but appear to be stored in the same table as other data? With a SQL Server FILESTREAM column the data in the column appears to be saved in the database table, along with the data in the other columns, but behind the scenes SQL Server is storing that data in the file system and not in the database. Does Application Insights have equivalent functionality to get around the 32 kB message limit?
I understand the Azure Data Explorer doesn't suffer from the same 32 kB limit and could be used to query Application Insights logs. If we could just store data larger than 32 kB we wouldn't need to be able to query it via Application Insights. We could use Azure Data Explorer to query it. So I'm wondering whether there is a simple way to break through the 32 kB limit for storing log messages, or whether we would need to develop something from scratch.