Watch-SimanV2AppLog⚓︎
SYNOPSIS⚓︎
Monitorea los logs de aplicación de una WebApp de SimanG8v2 en tiempo real.
SYNTAX⚓︎
Watch-SimanV2AppLog [-WebAppName] <string> [-Level <string>] [-Tail <int>] [-IntervalSeconds <int>]
[<CommonParameters>]
DESCRIPTION⚓︎
Este comando monitorea los logs de aplicación de una WebApp de SimanG8v2 en Azure App Service en tiempo real.
Ver en el detalle de parámetros cómo se conforma el nombre de la WebApp.
El proceso realiza las siguientes acciones:
- Localiza la WebApp especificada en Azure
- Conecta al Storage Account asociado para acceder a los archivos de log
- Muestra los últimos registros especificados (parámetro
-Tail) - Entra en un ciclo de monitoreo que detecta nuevos registros y los muestra conforme van llegando
Para detener el proceso es necesario presionar
Ctrl-C
Importante
Los logs están en el formato generado por Serilog en la WebApp origen. Estos son filtrados y formateados para una mejor legibilidad en la consola.
EXAMPLES⚓︎
Example 1 - Monitorea los últimos 20 registros y continúa en tiempo real⚓︎
PS> Watch-SimanV2AppLog -WebAppName dev-sdm-webapi
🔎 Buscando WebApp 'dev-sdm-webapi' en Azure...
🔗 Conectando a Storage Account para obtener logs...
📋 Últimos 20 registros del día 1/18/2026:
[00:15:23 INF] Request started HTTP/1.1 POST https://dev-sdm-webapi.azurewebsites.net/api/v1/sync
[00:15:24 INF] Request finished HTTP/1.1 POST https://dev-sdm-webapi.azurewebsites.net/api/v1/sync - 200 OK
...
📝 Nuevos registros agregados:
[00:20:45 INF] Request started HTTP/1.1 GET https://dev-sdm-webapi.azurewebsites.net/api/v1/status
Example 2 - Filtra por nivel de log (solo errores) con intervalo personalizado⚓︎
PS> Watch-SimanV2AppLog -WebAppName prod-marisa-webapi -Level ERR -Tail 10 -IntervalSeconds 5
🔎 Buscando WebApp 'prod-marisa-webapi' en Azure...
🔗 Conectando a Storage Account para obtener logs...
📋 Últimos 10 registros del nivel ERR del día 1/18/2026:
[08:45:12 ERR] Connection timeout to database
[08:50:03 ERR] Authentication failed for user@example.com
...
📝 Nuevos registros agregados:
[09:12:33 ERR] Request failed: System.TimeoutException
Example 3 - Monitorea sin mostrar registros iniciales⚓︎
PS> Watch-SimanV2AppLog -WebAppName dev-sdm-b2e -Tail 0
🔎 Buscando WebApp 'dev-sdm-b2e' en Azure...
🔗 Conectando a Storage Account para obtener logs...
⏳ Esperando nuevos registros en log (presiona 'Ctrl-C' para salir)
PARAMETERS⚓︎
-IntervalSeconds⚓︎
Intervalo en segundos entre cada verificación de nuevos registros.
Un valor menor aumenta la responsividad pero consume más recursos; un valor mayor reduce la carga pero muestra mayor latencia.
El valor por defecto es 2 segundos.
Type: System.Int32
DefaultValue: 2
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: Named
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
-Level⚓︎
Nivel de log para filtrar considerando los valores utilizados por Serilog.
Los valores válidos son: VRB (Verbose), DBG (Debug), INF (Information), WRN (Warning), ERR (Error), FTL (Fatal).
Si no se especifica, se muestran todos los niveles.
Type: System.String
DefaultValue: None
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: Named
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
-Tail⚓︎
Cantidad de registros anteriores a mostrar antes de comenzar el monitoreo en tiempo real. Si se especifica 0, no se muestran registros iniciales. Especifique un número mayor para revisar más historial.
El valor por defecto es 20 registros.
Type: System.Int32
DefaultValue: 20
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
Position: Named
IsRequired: false
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
-WebAppName⚓︎
Nombre de la WebApp a monitorear.
El nombre debe estar en minúsculas y se compone usando la siguiente convención:
<id>-<db>-<appname>:
id: Identificador o nombre corto del cliente (ej. marisa, prodisa, dev, etc)db: Nombre de la base de datos sin el prefijoSUSxxxappname: Nombre de la aplicación de SimanG8v2 (ej. webapi, b2e, b2b)
Ejemplo: prod-psdg8-webapi
Type: System.String
DefaultValue: None
SupportsWildcards: false
Aliases:
- Name
ParameterSets:
- Name: (All)
Position: 0
IsRequired: true
ValueFromPipeline: false
ValueFromPipelineByPropertyName: false
ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
CommonParameters⚓︎
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS⚓︎
OUTPUTS⚓︎
String⚓︎
El resultado del proceso y los logs formateados para lectura en el consola.
NOTES⚓︎
Para detener el monitoreo en PowerShell Remoting (el modo normal de operación de este módulo)
es necesario presionar Ctrl-C debido a que la captura de eventos de teclado (Console.KeyAvailable) no funciona correctamente porque:
- Los eventos de teclado ocurren en la máquina local, no en la máquina remota y
- PowerShell Remoting interrumpe la comunicación de eventos de entrada al script remoto.
En sesiones locales es posible utilizar Escape, sin embargo esto solo aplica en modo de desarrollo y pruebas.