Pero debido a que el uso de estas librerías implica tener que configurar o modificar archivos de conflagración y confeccionar algunos mas en el caso de EntLib, en muchos casos para poder hacer pruebas rápidas o para el caso en el que el entorno va a ser utilizado solo para probar alguna versión nueva de alguna tecnología (me a tocado tener que trabajar en varias maquinas virtuales ) dejo esta pequeña assembly en la cual existen 2 métodos.
El primero solo loguea el valor de alguna variable y el segundo permite escribir contenido de todo un mensaje en un archivo de log.
El código de la clase conteniendo ambos métodos seria:
[Serializable]
public class ArielLog
{
public static void WriteValue(string value)
{
File.AppendAllText("C:\\ArchivosLog.txt", value);
System.Diagnostics.EventLog.WriteEntry("BizTalkLog", value);
}
public static void WriteMessage(XLANGMessage msg)
{
XmlDocument doc = (XmlDocument)msg[0].RetrieveAs(typeof(XmlDocument));
string mensaje = doc.InnerXml;
File.AppendAllText("C:\\Mensjaes.txt", mensaje);
}
}
Y para usar estos dos métodos simplemente restaría referenciar a la assembly en la que se encuentra la clase que los contiene y ya podrían ser llamados desde cualquier shape de expresión de la siguiente manera:
Para loguear un mensaje
O para loguear el valor de una variable:
Eso seria todo, por si alguien quiere recompilar la librería para cambiarle el nombre o lo que fuera, adjunto una solución con el código de la assembly firmado para poder ser subida a la GAC y así poder utilizarla desde Biztalk Server.
Ariel Serlin
Para bajar el código hace click aquí
No hay comentarios:
Publicar un comentario